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

MySQL數據表操作

1 常見數據類型與字符集

1.1 數據類型

1.1.1 char與varchar

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

1.1.2 text與blob

一些注意事項:

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

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

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

3)避免檢索大量的blob和text值,減少在網絡上傳輸大量的數據

4)把blob與text分離到單表,可將原表的數據列轉換成定長的數據行格式,減少主表的碎片,獲得性能優勢

1.1.3 浮點數與定點數

浮點數:float、double

定點數:decimal

注:

1、浮點數會存在誤差問題

2、貨幣等敏感數據應使用定點數存儲

3、避免使用浮點數進行比較

4、注意浮點數一些特殊值的處理

1.2 字符集

1.2.1 支持的字符集

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

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

1.2.2 Unicode規范

Unicode是一種編碼規范,類似ASCII碼,由國際組織設計,可容納全世界所有語言文字的編碼方案,Unicode有兩套標準,UCS-2和USC-4,前者2個字節表示一個字符,后者4個字節表示一個字符

1.2.3 字符集設置

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

不設置默認會使用latin1作為服務器字符集,不指定校對規則會使用默認的校對規則

字符集的校對規則以字符集名稱開頭,以_ci(不區分大小寫)_cs(區分大小寫)或_bin(二進制文件)結尾

2 數據庫DDL操作

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

2.1 庫相關

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 表相關

2.2.1 表創建

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表數據存儲在頁中,每個頁存放多條記錄,這些記錄以樹形結構組織,稱為B+樹

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

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

    刪除數據會導致頁page出現空白空間,大量隨機的Delete操作必然在數據文件中造成不連續的空白空間,插入數據時,空白空間會被利用起來,造成了數據物理存儲順序與邏輯順序不同,稱之數據碎片

    MySQL數據表操作

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

文章標題:MySQL數據表操作

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

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

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

MySQL 數據庫基礎維護

2022-9-2 14:18:18

建站教程投稿分享

MySQL索引創建與維護

2022-9-5 15:20:28

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 北流市| 安乡县| 临洮县| 武胜县| 白城市| 永安市| 蕉岭县| 微山县| 西平县| 北海市| 玉林市| 介休市| 清水县| 阜宁县| 大关县| 宝应县| 商丘市| 吉木萨尔县| 绥棱县| 桃源县| 雅江县| 东乡族自治县| 土默特右旗| 壶关县| 鹿邑县| 濮阳县| 揭阳市| 赤水市| 安岳县| 雅安市| 桑日县| 称多县| 柞水县| 巴塘县| 商河县| 卢龙县| 昌邑市| 拜泉县| 区。| 宁化县| 达日县|