MySQL笔记创建表结构_MySQL表结构笔记9
本篇大綱
MySQL數據表
創建表
創建主鍵
AUTO_INCREATE
指定默認值
更新表結構
刪除表,重命名表
01:表
MySQL 數據庫的表是一個二維表,由一個或多個數據列構成
每個數據列都有它的特定類型,該類型決定了MySQL如何看待該列數據
02:創建表(命令)
格式:使用create table 創建表,必須給出下列信息
新表的名字
表中列的名字和定義,用逗號分隔
創建表(實例)
CREATE TABLE customers
(
cust_id int NOT NULL AUTO_TNCREMENT,
cutst_name char(50) NOT NULL,
cust_address char(50) NULL,
cust_city char(50) NULL,
PRIMARY KEY (cust_id)
)ENGINE=InnoDB;
03:創建表(說明)
從例子中可以看到,表名緊跟在CREATETABLE關鍵字后面,實際的表定義(所有列)括在圓括號之中
各列之間用逗號分隔,這個表由9列組成。每列的定義以列名開始,后跟列的數據類型
表的主鍵可以在創建表時用PRIMARY KEY 關鍵字指定
04:給列指定NULL類型
NULL 值就是沒有值或缺省
定義為NULL值的列允許在插入行時不給出該列的值,指定NOT NULL值的列,在插入或更新行時,該列必須有值
例1:創建表,并指定特定的列為NOT NULL
給列指定NULL類型(實例)
CREATE TABLE order(
order_num int NOT NULL AUTO_TNCRMENT,
order_date datetime NOT NULL,
cust_id int NOT NULL,
PRIMARY KEY (order_num)
)ENFINE=InnoDB;
05:創建主鍵
主鍵值必須唯一。即,表中的每行必須具有唯一的主鍵值
如果主鍵使用單個列,則他的值必須唯一。如果使用多個列,則這些列的組合值必須唯一
創建主鍵的語法是:在創建表的時候使用如下命令:
PRIMAY KEY(列名)
06:AUTO_INCREMENT
AUTO_INCREMENT告訴MySQL,本列每當增加一行時自動增量
每次執行一個insert操作時,MySQL自動對該列增1
每個表只允許一個AUTO_INCREMENT列,而且它必須可以被索引(通常使用它作為主鍵)
使用語句:select last_insert_id() 可以獲取當前表中的AUTO_INCREMENT值
07:指定默認值
如果在插入行時沒有給出值,MySQL允許指定此時使用的默認值
默認值用create table語句的列定義中的DEFAULT關鍵字指定
指定默認值(實例)
CREAT TABLE orderitems(
order_num int NOT NULL,
prod_id char(10) NOT NULL,
quantity int NOT NULL DEFAULT 1,
PRIMARY KEY (order_num,order_item)
)ENGINE=InnoDB
08:更新表
更新表的定義,使用ALTER TABLE語句
使用ALTER TABLE更改表結構,必須給出下面的信息
在ALTER TABLE之后給出更改的表名
所做更改的列表
09:添加列(實例1)
實例:給表添加一列
ALTER TABLE vendors ADD vend_phone CHAR(20) not null default '123456';
說明:上述語句給vendors表增加一個名為vend_phone的列,必須明確其數據類型
10:添加列(實例2)
11:修改列
格式:Alter table 表名 modify 列名 新類型 新參數;
alter table 表名 change 舊列名 新列名 新類型 新參數;
12:修改列(實例1)
13:修改列(實例2)
14:刪除列(實例)
格式:alter table 表名 drop 列名;
實例:刪除一例
ALTER TABLE vendors Drop vend_phone;
15:更新表(實例)
實例3:給表指定外鍵
16:刪除表
刪除表是刪除整個表而不是其內容,使用命令
DROP TABLE 表名;
17:重命名表
使用RENAME TABLE 語句可以重命名一個表;
RENAME TABLE 舊的表名 TO 新的表名;
總結
以上是生活随笔為你收集整理的MySQL笔记创建表结构_MySQL表结构笔记9的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Golang——延迟调用defer
- 下一篇: 插入网站连接_带你了解网站设计的五个基本