一:資料庫的建立與刪除
1.介紹
資料庫是用於儲存和操作諸如表,資料庫檢視,觸發器,儲存過程等資料的物件的集合。
2.建立資料庫
3.顯示資料庫
show databases
語句顯示mysql資料庫伺服器中的所有資料庫。
其中:information_schema
,performance_schema
和mysql
是我們安裝mysql時可用的預設資料庫。
4.使用資料庫
5.刪除資料庫
二:表型別與儲存引擎
1.介紹
了解mysql中每個表型別的功能至關重要,以便您可以有效地使用它們來最大限度地提高資料庫的效能。
2.儲存引擎
每個儲存引擎都有自己的優點和缺點。了解每個儲存引擎功能至關重要,並為表選擇最合適的功能,以最大限度地提高資料庫的效能。
3.myisam
myisam擴充套件了以前的isam儲存引擎。 myisam表針對壓縮和速度進行了優化。 myisam表也可以在平台和作業系統之間移植。
myisam表的大小可達256tb
,這個資料裡是非常巨大的。 此外,myisam表可以壓縮為唯讀表以節省空間。 在啟動時,mysql會檢查myisam表是否有損壞,甚至在出現錯誤的情況下修復它們。myisam表不是事務安全的。
在mysql 5.5之前,myisam是建立表但是不用明確指定儲存引擎時的預設儲存引擎。 從版本5.5起,mysql使用innodb作為預設儲存引擎。
4.innodb
innodb表完全支援符合acid和事務。 它們也是效能最佳的。innodb表支援外來鍵,提交,回滾,前滾操作。innodb表的大小最多可達64tb
。
像myisam一樣,innodb表可以在不同的平台和作業系統之間移植。如果需要,mysql還會在啟動時檢查和修復innodb表。
5.merge
merge表是將具有相似結構的多個myisam表組合到乙個表中的虛擬表。merge儲存引擎也被稱為mrg_myisam引擎。 merge表沒有自己的索引; 它會使用元件表的索。
使用merge表,可以在連線多個表時加快效能。mysql只允許您對merge表執行select,delete,update和insert操作。如果在merge
表上使用drop table
語句,則僅刪除merge
規範。基礎表不會受到影響。
6.memory
記憶體表儲存在記憶體中,並使用雜湊索引,使其比myisam**快。記憶體表資料的生命週期取決於資料庫伺服器的正常執行時間。記憶體儲存引擎以前稱為heap。
7.archive
歸檔儲存引擎允許將大量用於歸檔目的的記錄儲存為壓縮格式以節省磁碟空間。
歸檔儲存引擎在插入時壓縮記錄,並在讀取時使用zlib
庫對其進行解壓縮。
歸檔表只允許insert和select
語句。archive
表不支援索引,因此需要完整的表掃瞄來讀取行。
8.csv
csv儲存引擎以逗號分隔值(csv)檔案格式儲存資料。
csv**提供了將資料遷移到非sql應用程式(如電子**軟體)中的便捷方式。
csv表不支援null
資料型別。 此外,讀操作需要全表掃瞄。
9.federated
federated儲存引擎允許從遠端mysql伺服器管理資料,而無需使用集群或複製技術。
本地聯合表不儲存任何資料。
從本地聯合表查詢資料時,資料將從遠端聯合表自動拉出。
三:建立表
1.語法
innodb表型別帶來了諸如acid事務,引用完整性和崩潰恢復等關聯式資料庫管理系統的諸多好處。
2.定義列
說明:
3.如果定義為主鍵
四:序列
1.介紹
使用mysql序列為表的id列自動生成唯一編號。
在mysql中,序列是以公升序生成的整數列表,即1
,2
,3
...
許多應用程式需要序列來生成主要用於識別的唯一數字。
要自動在mysql中建立序列,可以在列上設定auto_increment
屬性,這通常是主鍵列。
2.auto_increment的使用規則
(這個三點都要注意,以前倒是沒注意)
3.序列原理
五:alter修改表結構
1.介紹
alter table
語句來更改現有表結構(如新增或刪除列,更改列屬性等)。
2.示例表
3.為列設定自增
4.新增新的列
新增乙個名為complete
的新列,以便在任務表中儲存每個任務的完成百分比。
注意到after。
5.刪除列
6.重新命名表
將tasks
表重新命名為work_items
表。
六:重新命名表
1.介紹
使用mysqlrename table
語句和alter table
語句重新命名表。
要更改乙個或多個表,我們使用rename table
語句:
除了表之外,我們還可以使用rename table
語句來重新命名檢視。
在執行rename table
語句之前,必須確保沒有活動事務或鎖定表。
請注意,不能使用rename table
語句來重新命名臨時表,但可以使用alter table語句重新命名臨時表。
在安全性方面,我們授予舊表的任何許可權必須手動遷移到新錶。
必須手動調整引用該錶的其他資料庫物件,如檢視,儲存過程,觸發器,外來鍵約束等。
資料庫表管理
資料的完整性 精確性 可靠性 資料喪失完整性體現在 資料可中存在不符合規定的資料或錯誤的資訊,例如 學號重複,身份證號重複,年齡為負數,薪水為負數,性別不存在 資料喪失完整性 是在設計表結構的時候造成的。保證資料的完整性 在設計表結構的時候,新增約束。約束的分類 1.實體 行 完整性約束 保證行記錄...
資料庫(1) 資料庫管理和表管理
一 資料庫管理 1 查詢所有資料庫 show databases 2 建立資料庫 create database name default character set utf8 指定預設字符集建立資料庫可以省略 3 檢視資料庫的預設字符集 show create database name 4 資料...
管理資料庫和表
第乙個字元必須是 unicode中定義的字母包括拉丁字母a z和a z,以及來自其他語言的字母字元 以及下劃線 符號或者數字符號 識別符號不能是所用rdbms的保留字。不允許嵌入空格或其他特殊字元。2.刪除資料庫 語法為 drop database 3.整型資料型別 tinyint 型 1個位元組 ...