MySQL筆記建立表結構 MySQL表結構筆記9

2021-10-18 11:48:38 字數 2826 閱讀 5839

本篇大綱

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表檔案建立 php檔案建立mysql的表

乙個php檔案,裡面內容是建表語句,如下,怎麼操作這個php檔案才能在mysql中建表啊?createtableifnotexists category id.乙個php檔案,裡面內容是建表語句,如下,怎麼操作這個php檔案才能在mysql中建表啊?create table if not exist...

mysql複製表結構建立新錶

最近由於資料庫資料日增長量較大,某些不到乙個月已經達到了百萬級資料量,根據需要進行散表。後台將每月新資料insert新錶,因此資料庫要定期建立新錶。涉及到了mysql 定時任務等一系列知識。關於mysql複製表結構建立對應新錶,要求是將按月建立新錶,新錶名為原表名加上日期。如 原表game cent...

MySQL之表的建立與表的結構

1 建立表 create table course 課程號 char 5 not null,課程名稱 varchar 30 default null,課程簡介 text,課時 int 11 default null,學分 int 11 default null,開課學期 varchar 8 defa...