表操作
- 一、創建表
-
- 1、語句
- 2、語句介紹
- 3、注意事項
- 4、介紹
- 5、示例
- 二、查看表結構
-
- 1、語句
- 2、介紹
- 3、返回的信息
- 4、示例
- 三、添加字段
-
- 1、語句
- 2、語句介紹
- 3、示例
- 四、修改
-
- 1、語句
- 2、語句介紹
- 3、示例
- 五、刪除
-
- 1、語句
- 2、示例
- 六、修改表名
-
- 1、語句
- 2、語句介紹
- 3、示例
- 七、刪除表
-
- 1、語句
- 2、示例
- 八、注意事項
一、創建表
1、語句
CREATE TABLE 表名 (列名1 數據類型 [約束條件],列名2 數據類型 [約束條件],...[表選項]
);
2、語句介紹
- CREATE TABLE:創建表的SQL命令。
- 表名:表的名稱,必須是唯一的,并且符合MySQL的命名規則(通常只能包含字母、數字和下劃線,不能以數字開頭)。
- 列名:表中的列(字段)名稱,每個列都有一個相應的數據類型和可選的約束條件。
- 數據類型:定義列中數據的類型,如INT(整數)、VARCHAR(可變長度字符串)、DATE(日期)等。
- 約束條件:可選的,用于限制列中的數據,如NOT NULL(非空)、UNIQUE(唯一)、PRIMARY KEY(主鍵)、FOREIGN KEY(外鍵)、AUTO_INCREMENT(自動遞增)等。
- 表選項:可選的,用于設置表的附加屬性,如字符集、排序規則和存儲引擎等。
3、注意事項
- 表名和列名盡量使用小寫字母和下劃線,以符合常見的命名規范。
- 在設計表結構時,應充分考慮數據的完整性和一致性,合理使用約束條件。
- 根據具體需求選擇合適的存儲引擎,例如InnoDB(默認)和MyISAM。
4、介紹
- 在MySQL中,創建表(table)是數據庫設計和數據組織的基礎步驟之一。表是存儲結構化數據的主要方式,類似于Excel中的工作表或關系數據庫中的關系。
- 默認情況下,使用InnoDB存儲引擎在默認數據庫中創建表。如果表存在、沒有默認數據庫或數據庫不存在,則會發生錯誤。
- MySQL對表的數量沒有限制。底層文件系統可能對表示表的文件數量有限制。單個存儲引擎可能會施加特定于引擎的約束。InnoDB最多允許40億個表。
5、示例
二、查看表結構
1、語句
DESCRIBE table_name;
- table_name是要查看的表的名稱。
2、介紹
- 在MySQL中,DESCRIBE命令(或其簡寫形式DESC)是一個非常實用的工具,用于獲取有關數據庫表的詳細結構信息。該命令僅適用于表對象,不能用于視圖、存儲過程、函數等其他數據庫對象。
3、返回的信息
信息
說明
字段名稱(Field)
表的每一列的名稱
數據類型(Type)
每列中存儲數據的類型,例如INT、VARCHAR、DATE等
是否允許空值(Null)
指示每列是否允許存儲NULL值。
鍵(Key)
指示列是否為主鍵(PRI)、外鍵或索引的一部分。如果列是主鍵,則顯示為PRI;如果是索引的一部分,則可能顯示為MUL(表示該列在多個索引中出現)或其他相關標識
默認值(Default)
插入新行時,如果未指定列值,則使用默認值。如果列沒有默認值,則此列可能為空
附加信息(Extra)
有關列的其他信息,例如是否允許自動增量(auto_increment)、是否具有唯一性約束等
4、示例
- 添加數據
三、添加字段
1、語句
ALTER TABLE table_name
ADD COLUMN column_name column_definition [FIRST | AFTER existing_column];
2、語句介紹
- table_name:要修改的表的名稱。
- column_name:要添加的新字段的名稱。
- column_definition:新字段的定義,包括數據類型和其他約束(如 NOT NULL、DEFAULT 值等)。
- FIRST:可選,表示將新字段添加到表的第一個位置。
- AFTER existing_column:可選,表示將新字段添加到existing_column之后。
3、示例
四、修改
1、語句
-- 使用 MODIFY COLUMN 修改字段定義
ALTER TABLE table_name
MODIFY COLUMN column_name new_column_definition [FIRST | AFTER existing_column];-- 使用 CHANGE COLUMN 修改字段名稱和定義
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name new_column_definition [FIRST | AFTER existing_column];
2、語句介紹
- MODIFY COLUMN 和 CHANGE COLUMN 子句都可以修改字段。
- MODIFY COLUMN 可以改變字段的定義,但不能改變字段的名稱。
- CHANGE COLUMN 可以改變字段的名稱和定義。
3、示例
五、刪除
1、語句
ALTER TABLE table_name
DROP COLUMN column_name;
2、示例
六、修改表名
1、語句
RENAME TABLE old_table_name TO new_table_name;
ALTER TABLE old_table_name RENAME TO new_table_name;
2、語句介紹
- old_table_name:要修改的表的當前名稱。
- new_table_name:修改后的新名稱。
- 上方兩條語句都能達到修改表名的目的。在使用ALTER TABLE的語句中,TO可以省略。
3、示例
七、刪除表
1、語句
DROP TABLE table_name;
2、示例
八、注意事項
- 備份數據:在執行這些操作之前,最好備份這些數據,以防萬一操作出錯導致數據丟失。
- 權限:確保執行這些操作的時候,執行者具有足夠的權限來修改表結構。
- 兼容性:不同版本的MySQL可能對某些語法有不同的支持,確保使用的語法與使用的MySQL版本兼容。
- 依賴關系:檢查是否有其他數據庫對象(如視圖、觸發器、存儲過程等)依賴于要修改的表名或要刪除的表。如果有,可能需要相應地更新或刪除這些依賴對象。
- 事務處理:如果操作是在事務中進行的,請確保已了解這些操作對事務的影響。在某些情況下,RENAME TABLE 和 DROP TABLE 語句可能會隱式地提交當前事務。
本文到這里就結束了,如有錯誤或者不清楚的地方歡迎評論或者私信
本文只是在學習過程中所做的總結,不會涉及過深的概念
創作不易,如果覺得博主寫得不錯,請點贊、收藏加關注支持一下???