本文爲本人學習書籍《MySQL必知必會》筆記系列,歡迎持續關注,有問題隨時留言評論,一起探討學習~
21創建和操作表
21.1創建表CREATE TABLE
使用交互式工具創建,例如Navicat Premium
使用MySQL語句創建
21.1.1SQL語句創建表
CREATE TABLE product.school
(
id int NOT NULL AUTO_INCREMENT,#自動增量
number char(50) NOT NULL,
name char(50) NOT NULL,
sex char(3) NOT NULL,
age int NULL,
class char(50) NULL,
school char(50) NOT NULL DEFAULT 1,#默認值爲1
PRIMARY KEY(id) #設置主鍵
)EMGINE=InnoDB;#引擎類型
一般情況下,使用默認值而不是NULL值(NOT NULL),便於後續數據處理
每個表只允許一個AUTO_INCREMENT列,且它必須被索引
使用自動增量AUTO_INCREMENT生成主鍵的缺點是不知道id值有哪些。
如何在使用AUTO_INCREMENT列時獲取生成的id值呢?
可使用last_insert_id()獲取。如下:
SELECT LAST_INSERT_ID()
該語句返回最後一個AUTO_INCREMENT值,然後可以將它用於後續SQL語句。
21.2更新表ALTER TABLE
21.2.1給表custnew增加列cust_tempy,必須明確cust_tempy的數據類型
ALTER TABLE custnew
ADD cust_tempy CHAR(20);
21.2.2刪除剛添加的列cust_tempy
ALTER TABLE custnew
DROP COLUMN cust_tempy;
21.2.3定義外鍵
ALTER TABLE的一種常見用途是定義外鍵,語句結構如下:
ALTER TABLE 表1名稱
ADD CONSTRAINT fk_表1名稱_表2名稱
FOREIGN KEY(表1的主鍵列名) REFERENCES 表2名(表2的主鍵列名);
21.3刪除表
DROP TABLE 表1名稱;
這條語句刪除表1。刪除沒有確認也不能撤銷,永久刪除。不能撤銷,永久刪除!不能撤銷,永久刪除!
21.4重命名錶
RENAME TABLE 表1名稱 TO 修改後的表1名稱,
表2名稱 TO 修改後的表2名稱,
表3名稱 TO 修改後的表3名稱;