MySQL建立資料庫及表和約束語句

2021-10-05 10:06:08 字數 2798 閱讀 4652

-- 建立資料庫

-- 建立資料庫

create

database

ifnot

exists shopping default

charset utf8 collate utf8_general_ci;

-- 建立表,不加任何約束

create

table aaa(

u_id int

, u_name varchar(20

),u_*** varchar(20

),u_date date

)create

table aaaa(

a_id int

, u_id int

, a_name varchar(20

))create

table tab_b(

b_id int

, b_name int

, a_*** varchar(20

))alter

table tab_b add

primary

key(b_id)

;alter

table tab_b modify b_id int

auto_increment

insert

into tab_b(b_name,b_date)

values

('王青山'

,'男'),

('顧坤倫'

,'男'

)insert

into aaa(u_name,u_***,u_date)

values

('zhao'

,'男'

,'1997-03-14');

insert

into aaaa values(3

,10,'z');

select

*from aaa

drop

table aaa

-- 新增主鍵

alter

table aaa add

primary

key(u_id)

;alter

table aaaa add

primary

key(a_id)

;-- 刪除主鍵

alter

table aaa drop

primary

key;

-- 主鍵自增

alter

table aaa modify u_id int

auto_increment

-- 刪除主鍵自增

alter

table aaa modify u_id int

-- 新增字段

alter

table student add

column s_no int

notnull

;alter

table student add age int

default

20comment

'年齡'

;-- 刪除字段

alter

table student drop

column age;

-- 新增非空約束

alter

table aaa modify u_name varchar(20

)not

null

;-- 刪除非空約束

alter

table aaa modify u_name varchar(20

)null

;-- 新增唯一約束

alter

table aaa add

unique u_name(u_name)

;-- 刪除唯一約束

alter

table aaa drop

key u_name

-- 新增預設值

alter

table aaa alter u_*** set

default

'男';

-- 刪除預設值

alter

table aaa alter u_*** drop

default

-- 新增外來鍵約束

alter

table aaaa add

constraint fk_uaid foreign

key(u_id)

references aaa(u_id)

;-- 刪除外來鍵約束

alter

table aaaa drop

foreign

key fk_uaid;

alter

table aaaa drop

index fk_uaid;

-- 建立時加約束

create

table students (

s_id int

auto_increment

primary

key,

s_name varchar(20

), s_*** varchar(20

)default

'男'check

(s_*** in

('男'

,'女'))

, s_date date

, u_id int

,constraint pk_test_id foreign

key(u_id)

references student(u_id)

)

正規化 資料庫表的建立 修改和約束設定

建立表修改表結構 約束constraint 解決資料冗餘的問題 確保每列保持原子性 如果資料庫表中的所有字段值都是不可分解的原子值,就滿足了第一正規化。確保表中的每列都和主鍵相關,而不能只於主鍵的某一部分相關。主要是在聯合主鍵的情況下。每一列都與主鍵直接相關,而不能與主鍵簡介相關。新建表時,指定的表...

mysql資料庫基礎 資料型別和約束

char 固定長度 char 4 as as varchar 可變長度字串 varchar 4 as as text 大文字儲存 字元 4000 1 整數和浮點數如果不需要小數部分,則使用整數來儲存資料,並且根據整數的大小,來選擇合適的整數型別,如果需要小數部分,則使用浮點數型別,浮點數型別中,有f...

建立表和約束條件

oracle中建立表主要關注表字段的型別和對應的約束條件。1 建立表語句 create table tname fied1 型別1,fied1 型別2,create table tname as 子查詢 複製現成表 2 字段型別 varchar n 建立可以存放n個字元的字段,資料長度可以自動變長,...