mysql使用筆記

2021-10-04 15:50:52 字數 2403 閱讀 2085

建立資料庫

create database database_name;

刪除資料庫

drop database database_name;

建立表

//最簡單的語法

create

table userinfo(

id int

, uname varchar(40

),address varchar

(120),

hobby varchar

(200),

primary

key id

);

//包含約束、聯合主鍵、檢驗約束、enum、注釋

create

table

ifnot

exists userinfo(

id int

auto_increment

, uname varchar(40

)not

null

, phone_number varchar(20

)unique

, address varchar

(120

)default

'china'

, hobby_no varchar

(200

)comment

='愛好'

, gender varchar(10

)enum

('男','女'),

age int

check

(age>=

0and age<

100)

,primary

key(id,uname)

foreign

key(hobby_no )

references hobby(hobby_no )

onupdate

cascade

ondelete

cascade

)comment

='使用者資訊表'

;

新增外來鍵約束

alter table score

add constraint score_constraint

foreign key(student_no) references student(student_no);

外來鍵語法

constraint foreign_key_name  foreign key (col_name1 [,col_name2….])

references table_name(col_name1[,col_name2...)])

[on delete ]

[on update ]

(1)constraint foreign_key_name:定義外來鍵約束和約束名。foreign key (col_name1 [,col_name2….],外來鍵引用的字段表。

(2)外來鍵被定義為表的完整性約束,reference_definition中包含了外來鍵所參照的表和列,還可以宣告參照動作。

(3)restrict:當要刪除或更新父表中被參照列上在外鍵**現的值時,拒絕對父表的刪除或更新操作。

(4)cascade:從父表刪除或更新行時自動刪除或更新子表中匹配的行

(5)set null:當從父表刪除或更新行時,設定子表中與之對應的外來鍵列為null。如果外來鍵列沒有指定not null限定詞,這就是合法的。

(6)no action:no action意味著不採取動作,就是如果有乙個相關的外鍵值在被參考的表裡,刪除或更新父表中主要鍵值的企圖不被允許,和restrict一樣。

(7)set default:作用和set null一樣,只不過set default是指定子表中的外來鍵列為預設值。

修改表的注釋

alter table userinfo comment 『使用者資訊資料表』;

修改欄位的注釋,注意:欄位名和字段型別照寫就行

alter table userinfo modify column uname varchar(40) comment 『姓名』;

修改主鍵

alter table student drop primary key;

alter table student add primary key (student_no);

新增表字段

alter table test_table add column add_column varchar (50) null default null comment '新增字段' after `id`;

//after為新增字段位置

varchar為變長度字串

char為固定長度字串

varchar使用久了會產生磁碟碎片

mysql使用筆記

mysql安裝 bin mysqld initialize insecure user mysql basedir usr local mysql datadir usr local mysql data mkdir p var run mysqld chown mysql mysql var ru...

MySQL使用筆記

刪除修改 查詢元資料操作 表結構調整 許可權管理 字符集設定 資料匯入和匯出 匯入資料 遠端連線mysql 資料庫備份和複製 mysql 程序資訊 編碼集問題 insert into ticket info buyer openid,ticket date values 000751a016bdbf...

mysql使用筆記

mysql通用建表語句 create table if not exists stuinfo id int primary key auto increment,自增,主鍵非空唯一,會建立主鍵索引 stuname varchar 20 not null,非空 gender char 1 seat i...