目錄
基礎知識:
一條數據存儲的過程:
標識符命名規則:
創建和管理數據庫:
創建數據庫:
創建數據庫:
創建數據庫并指定字符集:
判斷數據庫是否存在,不存在則創建數據庫:
數據庫的管理:
查看當前所有的數據庫:
查看當前正在使用的數據庫:
查看指定庫下所有的表:
查看當前庫下所有的表:
查看數據庫的創建信息:
使用/切換數據庫:
修改數據庫:
更改數據庫的字符集:
刪除數據庫:
刪除指定的數據庫:
刪除存在的指定的數據庫:
表的創建與管理:
創建表:
方式1:
方式2:
舉例:
查看表的結構:
查看表的數據:
修改表:
添加字段:
默認添加到表中最后一個字段:
添加到指定位置:
修改字段:
重命名字段:
刪除字段:
對表進行重命名:
方式1:
方式2:
刪除表:
刪除指定的表:
刪除存在的指定的表:
清空表:
為什么清空表和刪除表等操作需要慎重?
基礎知識:
一條數據存儲的過程:
存儲數據是處理數據的第一步。只有正確地把數據存儲起來,我們才能進行有效的處理和分析。
在MySQL中,一個完整的數據存儲過程總共有4步,分別是創建數據庫、確認字段、創建數據表、插入數據表。
MySQL中數據庫系統從大到小依次是數據庫服務器、數據庫、數據表、數據表的行與列。
標識符命名規則:
數據庫名、表名不得超過30個字符,變量名限制為29個。
只能包含A-Z,a-z,0-9,_共63個字符。
數據庫名、表名、字段名等對象名中間不要包含空格。
同一個MySQL軟件中,數據庫不能同名,同一個庫中,表不能重名;同一個表中,字段不能重名。
必須保證你的字段沒有和保留字、數據庫系統或者常用方法沖突。如果堅持使用,需用著重號引起來。
保持字段名和類型的一致性,在命名字段為其指定數據類型的時候一定要保證一致性。
創建和管理數據庫:
創建數據庫:
創建數據庫:
CREATE DATABASE 數據庫名;
創建數據庫并指定字符集:
CREATE DATABASE 數據庫名 CHARACTER SET 字符集;
判斷數據庫是否存在,不存在則創建數據庫:
CREATE DATABASE IF NOT EXISTS 數據庫名;
如果MySQL中已經存在相關的數據庫,則忽略創建語句,不再創建數據庫。創建數據庫未指定字符集,那么則使用默認字符集。
數據庫的管理:
查看當前所有的數據庫:
SHOW DATABASES;
查看當前正在使用的數據庫:
SELECT DATABASE();
查看指定庫下所有的表:
SHOW TABLES FROM 數據庫名;
查看當前庫下所有的表:
SHOW TABLES;
查看數據庫的創建信息:
SHOW CREATE DATABASE 數據庫名;
SHOW CREATE DATABASE 數據庫名\G;
使用/切換數據庫:
USE 數據庫名;
修改數據庫:
更改數據庫的字符集:
ALTER DATABASE 數據庫名 CHARACTER SET 字符集;
刪除數據庫:
刪除指定的數據庫:
DROP DATABASE 數據庫名;
刪除存在的指定的數據庫:
DROP DATABASE IF EXISTS 數據庫名;
如果數據庫存在則刪除,如果不存在則忽略該語句。
表的創建與管理:
創建表:
必須具備:CREATE TABLE權限,存儲空間。
如果創建表時,未指明使用的字符集,則默認使用表所在的數據庫的字符集。
方式1:
CREATE TABLE [IF NOT EXISTS] 表名(字段名1,數據類型 [約束條件] [默認值],字段名2,數據類型 [約束條件] [默認值],字段名3,數據類型 [約束條件] [默認值],...[表約束條件]
);
方式2:
基于現有的表創建一個新表。
CREATE TABLE 表名
AS
SELECT (查詢結構
);
可以基于SELECT查詢的結果集進行創建新的表, 查詢語句中如果對字段名起別名,那么新創建的表的字段名也為別名 查詢結構可以是SELECT的完整結構 新創建的表的字段名和類型要和已有的表的字段名和類型一樣。對新創建的表的數據進行操作不會對原來的表有影響。
舉例:
創建一個表,對已有表的復制,包括數據:
CREATE TABLE 表名
AS
SELECT *
FROM 表名;
創建一個表,對已有表的復制,但是不包括數據:
CREATE TABLE 表名
AS
SELECT *
FROM 表名
WHERE 1=2(對所有數據進行過濾);
查看表的結構:
DESC 表名;
SHOW CREATE TABLE 表名;
查看表的數據:
SELECT * FROM 表名;
修改表:
關鍵字:ALTER TABLE。
添加字段:
默認添加到表中最后一個字段:
ALTER TABLE 表名
ADD 字段名 數據類型;
添加到指定位置:
ALTER TABLE 表名
ADD 字段名 數據類型 [FIRST|AFTER 字段名];
其中FIRST是將該字段放到表中的第一個字段位置。AFTER 字段名是將該字段放到目標字段后面一個位置。
修改字段:
ALTER TABLE 表名
MODIFY (修改字段的相關內容);
重命名字段:
LATER TABLE 表名
CHANGE 舊的字段名 新的字段名 數據類型;
刪除字段:
ALTER TABLE 表名
DROP COLUMN 字段名;
對表進行重命名:
方式1:
RENAME TABLE 表名
TO 新表名
方式2:
ALTER TABLE 表名
RENAME [TO] 新表名;
刪除表:
刪除指定的表:
DROP TABLE 表名;
刪除存在的指定的表:
DROP TABLE [IF EXISTS] 表名;
清空表:
TRUNCATE TABLE 表名;
刪除表中的所有數據,釋放表的存儲空間,但是表的結構保留。
為什么清空表和刪除表等操作需要慎重?
表刪除操作將把表的定義和表中的數據一起刪除,并且在MySQL在執行刪除操作時,不會有任何的確認信息提示,因此執行刪除操作時應當慎重。在刪除表前,最好對表中的數據進行備份,這樣當操作失誤時可以對數據進行恢復,以免造成無法挽回的后果。
同樣的,在使用ALTER TABLE進行表的基本修改操作時,在執行操作過程之前,也應該確保對數據進行完整的備份,因為數據庫的改變是無法撤銷的,如果添加了一個不需要的字段,可以將其刪除;相同的,如果刪除一個需要的列,該列下面的所有數據都將會丟失。