一般有兩種建立表的方法:
1.使用具有互動式建立和管理表的工具;
2.使用mysql語句。
利用create table建立表,必須給出下列訊息:
1.表的名字,在關鍵字create table之後給出;
2.表列的名字和定義,用逗號分隔。
create table customers
( cust_id int not null auto_increment,
cust_name char(50) not null,
cust_address char(50) null,
cust_email char(50) null,
primary key (cust_id)
)engine=innodb
表名緊跟在create table關鍵字後面,實際的表定義(所有列)括在圓括號之中。各列之間用逗號分隔。
每列的定義以列名開始,後面跟列的資料型別。
表的主鍵在建立表時用primary key指定。
建立新錶時,指定的表明必須不存在,否則將出錯。
不要把null值與空串相混淆。null值是沒有值,它不是空串。如果指定『』(兩個單引號,其中沒有字元),這在not null列中是允許的。空串是乙個有效的值,它不是無值。
主鍵值必須唯一。如果主鍵使用單列,則它的值必須唯一。如果使用多個列,則這些列的組合值必須唯一。
建立由多個列組成的主鍵,應該以逗號分隔的列表給出各個列名。primary key(***x,***x)
主鍵中只能使用不允許null值得列。
auto_increment告訴mysql,本列每當增加一行時自動增量。每個表只允許乙個自增列,而且它必須被索引。
如果乙個列被指定auto_increment,我們也可以在insert語句中指定乙個值,只要它是唯一的(至今尚未使用)。該值將被用來替代自動生成的值。後續的增量將開始使用該手工插入的值。
如何在使用auto_increment列時獲得這個值?可以使用last_insert_id()函式獲得這個值。
如:select last_insert_id() 此語句返回最後乙個自增值。
指定預設值時可以使用default關鍵字。
***x int not null default ***,
mysql不允許使用函式作為預設值,只支援常量。
engint指定引擎型別。
innodb是乙個可靠的事務處理引擎;memory在功能等同於myisam,由於資料儲存在記憶體中,速度很快;myisam是乙個效能極高的引擎,支援全文本搜尋,但不支援事務處理。
外來鍵不能跨引擎。即使用乙個引擎的表不能引用具有使用不同引擎的表的外來鍵。
更新表使用alter table語句。
在alter table之後給出要更改的表名;所做更改的列表。
新增一列:
alter table customers
add cust_age int(5);
刪除一列:
alter table customers
drop column cust_age
定義外來鍵:
刪除表使用drop table語句。
重新命名表使用rename table語句。
rename table customers to cust;
也可以對多個表進行重新命名。
rename table *** to yyy,aaa to bbb,ccc to ddd;
指令碼操作建立資料庫及表
不區分大小寫,字串使用單引號,末尾不需要加分號 按照功能分類 ddl 資料定義語言,用於進行各種資料庫物件的建立,主要操作包括create alter drop dml 資料管理語言,用於對錶資料的新增 修改 刪除 查詢,主鍵操作包括insert update delete select dcl 資...
資料庫表 庫操作
一 庫的管理 1 建立庫 create database if not exist 庫名 2 庫的修改 rename database 舊庫名 to 新庫名 修改資料庫的字符集 alter database 資料庫名稱 character set 字符集名稱 3 庫的刪除 drop database...
資料庫表操作總結
1 修改列的資料型別 alter table student inf alter column student name nvarchar 10 null 注 alter 修改 student inf 表名 column 列 student name 列名 nvarchar 10 資料型別 null...