本篇大綱
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...