欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

MySQL數(shù)據(jù)表操作

1 常見數(shù)據(jù)類型與字符集

1.1 數(shù)據(jù)類型

1.1.1 char與varchar

char與varchar類型類似,但保存和檢索的方式不同,最大長度與是否空格被保留也不同,在存儲過程中不進(jìn)行大小寫轉(zhuǎn)換

1.1.2 text與blob

一些注意事項:

1)執(zhí)行大量的刪除或更新操作,刪除數(shù)據(jù)后會產(chǎn)生很大的“空洞”,為提升性能,需定期使用OPTIMIZE TABLE進(jìn)行碎片整理

2)使用合成的索引,可根據(jù)其他列的內(nèi)容建立散列值,并單獨存放在數(shù)據(jù)列中,僅用于精確匹配的查詢,可用MD5函數(shù)生成散列值,或者SHA1或

CRC32,注意尾部帶有空格生成算法的不能存儲在CHAR或VARCAHR列中,會受到尾部去除的影響

3)避免檢索大量的blob和text值,減少在網(wǎng)絡(luò)上傳輸大量的數(shù)據(jù)

4)把blob與text分離到單表,可將原表的數(shù)據(jù)列轉(zhuǎn)換成定長的數(shù)據(jù)行格式,減少主表的碎片,獲得性能優(yōu)勢

1.1.3 浮點數(shù)與定點數(shù)

浮點數(shù):float、double

定點數(shù):decimal

注:

1、浮點數(shù)會存在誤差問題

2、貨幣等敏感數(shù)據(jù)應(yīng)使用定點數(shù)存儲

3、避免使用浮點數(shù)進(jìn)行比較

4、注意浮點數(shù)一些特殊值的處理

1.2 字符集

1.2.1 支持的字符集

MySQL支持多種字符集,可在同一臺服務(wù)器、同一個數(shù)據(jù)庫,甚至同一個表的不同字段指定不同的字符集,有較強(qiáng)的靈活性

MySQL字符集包括了字符集(CHARACTER)和校對規(guī)則(COLLATION)兩個概念,字符集定義存儲字符串的方式,校對規(guī)則定義比較字符串的方式,字符集和校對規(guī)則是一對多的關(guān)系

1.2.2 Unicode規(guī)范

Unicode是一種編碼規(guī)范,類似ASCII碼,由國際組織設(shè)計,可容納全世界所有語言文字的編碼方案,Unicode有兩套標(biāo)準(zhǔn),UCS-2和USC-4,前者2個字節(jié)表示一個字符,后者4個字節(jié)表示一個字符

1.2.3 字符集設(shè)置

可以在 my.cnf 中設(shè)置:
[mysqld]
default-character-set=utf8
或者在啟動選項中指定:
mysqld --default-character-set=utf8
或者在編譯的時候指定:
./configure --with-charset=utf8

不設(shè)置默認(rèn)會使用latin1作為服務(wù)器字符集,不指定校對規(guī)則會使用默認(rèn)的校對規(guī)則

字符集的校對規(guī)則以字符集名稱開頭,以_ci(不區(qū)分大小寫)_cs(區(qū)分大小寫)或_bin(二進(jìn)制文件)結(jié)尾

2 數(shù)據(jù)庫DDL操作

DDL(Data Definition Language):數(shù)據(jù)定義語言DDL用來創(chuàng)建數(shù)據(jù)庫中的各種對象——-表、視圖、索引、同義詞、聚簇等。關(guān)鍵字主要包括CREATE、DROP、ALTER(/VIEW/INDEX/SYN/CLUSTER)等。
DDL操作是隱性提交的,不能rollback

2.1 庫相關(guān)

2.1.1 建庫

mysql> CREATE DATABASE IF NOT EXISTS TEST DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;

2.1.2 刪除庫

mysql> DROP DATABASE IF EXISTS TEST;

2.2 表相關(guān)

2.2.1 表創(chuàng)建

mysql> CREATE TABLE IF NOT EXISTS `tb`(
? ?`runoob_id` INT UNSIGNED AUTO_INCREMENT,
? ?`runoob_title` VARCHAR(100) NOT NULL,
? ?`runoob_author` VARCHAR(40) NOT NULL,
? ?`submission_date` DATE,
? ?PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.2.2 表修改
  • 修改表名
  • mysql> ALTER TABLE tb RENAME tb_new;

    ?

    3 表碎片整理

    3.1 簡介

    InnoDB表數(shù)據(jù)存儲在頁中,每個頁存放多條記錄,這些記錄以樹形結(jié)構(gòu)組織,稱為B+樹

    聚集索引的葉子節(jié)點包含行中所有字段的值,輔助索引的葉子節(jié)點包含索引列和主鍵列

    在InnoDB中,刪除行行為只是被標(biāo)記成已刪除,MySQL會通過Purge線程異步清理未用的索引鍵與行,但不會把釋放出來的空間繼續(xù)交由操作系統(tǒng)分配,導(dǎo)致頁面存在很多空洞

    刪除數(shù)據(jù)會導(dǎo)致頁page出現(xiàn)空白空間,大量隨機(jī)的Delete操作必然在數(shù)據(jù)文件中造成不連續(xù)的空白空間,插入數(shù)據(jù)時,空白空間會被利用起來,造成了數(shù)據(jù)物理存儲順序與邏輯順序不同,稱之?dāng)?shù)據(jù)碎片

    MySQL數(shù)據(jù)表操作

文章鏈接: http://m.qzkangyuan.com/9592.html

文章標(biāo)題:MySQL數(shù)據(jù)表操作

文章版權(quán):夢飛科技所發(fā)布的內(nèi)容,部分為原創(chuàng)文章,轉(zhuǎn)載請注明來源,網(wǎng)絡(luò)轉(zhuǎn)載文章如有侵權(quán)請聯(lián)系我們!

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程投稿分享

MySQL 數(shù)據(jù)庫基礎(chǔ)維護(hù)

2022-9-2 14:18:18

建站教程投稿分享

MySQL索引創(chuàng)建與維護(hù)

2022-9-5 15:20:28

0 條回復(fù) A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 宜宾县| 包头市| 白玉县| 西平县| 邯郸县| 华蓥市| 广宁县| 砚山县| 黄陵县| 湖北省| 泽库县| 仁布县| 上犹县| 怀来县| 宜城市| 鄂伦春自治旗| 红原县| 二连浩特市| 荃湾区| 莆田市| 南华县| 乌恰县| 无锡市| 新竹市| 西乡县| 清水县| 嘉祥县| 湖北省| 东兰县| 大足县| 龙陵县| 潼关县| 天柱县| 镇康县| 玉山县| 阿荣旗| 广州市| 分宜县| 清河县| 福泉市| 木兰县|