My SQL筆記一(表的建立 修改 刪除)

2021-08-21 17:04:30 字數 2494 閱讀 8860

分別說明mysql資料庫中表在建立、修改和刪除過程中的各種操作和約束處理。

建立表

creat tabel if not exists

「tabel_name

」(column_name  column_type);

分單字段主鍵和多字段主鍵。

單字段主鍵語法:屬性名 屬性型別 primary key

多欄位主鍵語法:primary key(屬性名1,屬性名2,…,屬性名n)

語法:constraint 外來鍵別名 foreigh key(屬性1.1,屬性1.2,…,屬性1.n) references 表名(屬性2.1,屬性2.2,…,屬性2.n)

其中,外來鍵別名是外來鍵的代號,屬性1引數列表是子表中設定的外來鍵;表明是指父表的表名,屬性2引數列表是父表的主鍵。

語法:屬性名 資料型別 not null

語法:屬性名 資料型別 unique

唯一性約束將保證所有記錄中該字段的值不能重複出現。

語法:屬性名 資料型別 auto_increment

乙個表只能有乙個字段使用auto_increment約束,且該字段必須為主鍵的一部分。資料型別可以使任何整數型別。預設情況下,字段值從1開始自增。

語法:屬性名 資料型別 default 預設值

指定預設值後,在插入新的記錄時,如果沒有為這個字段賦值,那麼db將自動為這個字段插入預設值。如果沒有使用default指定預設值,也沒有指定欄位為非空,那麼欄位的預設值為空(null)。

engine 設定引擎,charset設定編碼。

例子:在資料庫runoob建立資料表runoob_tbl:

use runoob;

creat tabel if not exists `runoob_tb1`(

`runoob_id` int unsigned auto_increment,

`runoob_title` varchar(100) not null,

`runoob_anthor` varchar(30) not null,

`submission_date` date,

primary key(`runoob_id`)

)engine=innodb default charset=utf8;

檢視表結構

語法:describe 表名;其中,describe可縮寫為desc

該語法檢視表的基本結構,包括:欄位名、字段資料型別、是否為主鍵和預設值等。

desc runoob_tb1(column_name  column_type);

語法:show create table 表名

除可檢視表基本結構資訊外,還可檢視表預設的儲存引擎和字段編碼、完整性約束條件等資訊。加上\g可美化展示效果。

修改表

修改表本身的資訊,包括字段、資料型別、約束等內容。

語法:alter table 就表名 rename [to] 新錶名;

同乙個db中,表名是唯一的。

語法:alter table 表名 modify 屬性名 資料型別;

屬性名即欄位名。

語法:alter table 表名 change 舊屬性名 新屬性名 新資料型別;

如果資料型別不需要修改,將新資料型別設定成與原來的一樣。

語法:alter table 表名 屬性名1 資料型別 [完整性約束條件] [first] [after 屬性名2];

其中,「屬性名1」引數指需要增加的字段的名稱;「資料型別」為新增欄位的資料型別;「完整性約束條件」是可選的,設定新增欄位的完整性約束條件;「first」是可選的,作用是將新增字段設定為表中的第乙個字段;「after 屬性名2」是可選引數,作用是將新增字段新增到「屬性名2」所指的字段後。如果sql中沒有「first」、「after 屬性名2」制定新增引數的位置,新增的字段預設為是表的最後乙個字段。

語法:alter table 表名drop 屬性名;

屬性名為需要從表中刪除的字段的名稱。

drop table runoob_tb1;

語法:alter table 表名 modify 屬性名1 資料型別 first|after 屬性名2;

其中,「屬性名1」引數制定需要修改位置的字段的名稱;「資料型別」指「屬性名1」的資料型別;「first」引數指定位置為表的第乙個位置;「after 屬性名2」引數指定「屬性名1」插入在「屬性名2」之後。

更改表的儲存引擎

語法:alter table 表名 engine=儲存引擎;

其中,儲存引擎為設定的新的儲存引擎的名稱。

刪除外來鍵約束

語法:alter table 表名 drop foreigh key 外來鍵別名;

其中外來鍵別名引數指建立表時設定的外來鍵的別號。

刪除表

在刪除存在外來鍵關係的表時,通過先刪除子表的外來鍵約束再刪除父表的方法可以不影響子表中的資料保證資料庫的安全。

建立 修改 刪除表

1 建立表 1.1 完整約束條件表 約束條件 說明primary key 表示該屬性為表的主鍵,可以唯一的表示對應的元組 foreign key 標示該屬性為表的外來鍵,是與之聯絡的某錶的主鍵 not null 標示該屬性不能為空 unique 標示該屬性的值是唯一的 auto increment ...

SQL建立 修改 刪除表

建立表 create table 表名 列名 資料型別 屬性 列名 資料型別 屬性 增加表的列 alter table 表名 add 欄位名 資料型別 屬性 修改表的列 alter table 表名 modify column 欄位名 資料型別 屬性 刪除表的列 alter table 表名 dro...

Oracle(建立 修改 刪除表)

根據rowid獲取某一元組 2 表的建立 1 方式一 create table 2 方式二 當as後面的語句能夠查詢到資料的時候,不僅建立了表的結構而且查詢到的資料也會自動新增到新建立的表內部 查詢表中是否有資料 當as後面的語句不能查詢到資料的時候,只建立表的結構,不會向表中新增資料 3 修改表 ...