資料庫操作 建立表 操作表

2021-10-03 10:05:51 字數 2295 閱讀 2389

一般有兩種建立表的方法:

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...