mysql 建立複製列 MySQL建立表的三大方式

2021-10-22 03:11:49 字數 1492 閱讀 3616

1.table普通建立

mysql>use web; #選擇要使用的資料庫

mysql>create table a1 (id int ,name char(30)); #建立 a1 表,並新增 id 和 name 字段以及型別

mysql>describe a1; #檢視表結構(字段)

2.複製建立

create table new_table like old_table;#複製表的所有結構

create table new_table select list from old_table where 0;#複製表的部分結構

create table new_table select * from old_table;#複製表的所有結構+所有資料

create table new_table select field_list from old_table;#複製表的部分結構+所有資料

create table new_table select field_list from old_table where condition#複製表的部分結構+部分資料

3.帶約束建立

建立表時的約束可分為列級約束和表級約束,在mysql中:

列級約束:支援主鍵、唯

一、非空、預設

表級約束:支援主鍵、唯

一、外來鍵

一般的,外來鍵用表級約束新增,其他的用列級約束新增級

3.1建立表時新增列級約束

create table user(

id int primary key, #主鍵

name varchar(20) not null, #非空

no int unique, #唯一

flag tinyint default 1, #預設

3.2建立表時新增表級約束

create table user(

id int,

no int ,

book_id int,

#以下新增表級約束

constraint pk primary key(id), #主鍵

unique(no),#唯一,可以省略constraint(其他約束也可一省略)

constraint fk_user_book foreign key(book_id) references book(id) #外來鍵,建議取個約束名

3.4帶標識列建立

同約束的設定方法,在建立表時,在後面新增

auto_increment

create table user(

id int unique auto_increment,

name varchar(20)

set auto_increment_increment=3 #設定步長

set auto_increment_offset=3 #設定起始值,mysql不支援,但可以通過插入資料時來手動插入乙個起始值

標籤:int,建立,create,mysql,約束,table,table,id,三大

mysql複製列 mysql複製一列到另一列

mysql複製一列到另一列 update 表名 set b列名 a列名 需求 把乙個表某個字段內容複製到另一張表的某個字段。實現sql語句1 複製 如下 update file manager folder f1 left outer join file manager folder f2 on f...

mysql建立多列索引語句 mysql多列索引詳解

建立多列索引 在t user表id,username,email欄位上建立多列索引 該錶只有此索引 alter table t user add index user index id,username,email 能夠利用該索引的查詢 符合leftmost index prefixes原則的查詢 ...

mysql 位元組複製 MySQL 複製表

mysql 複製表 如果我們需要完全的複製mysql的資料表,包括表的結構,索引,預設值等。如果僅僅使用 create table select 命令,是無法實現的。使用 show create table 命令獲取建立資料表 create table 語句,該語句包含了原資料表的結構,索引等。複製...