99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2020-07-06 閱讀量: 808
數(shù)據(jù)分析706(下)

MySQL數(shù)據(jù)庫(kù)常用約束條件

  1. 主鍵約束(primary key)

    每個(gè)表中只能有一個(gè)主鍵;

    主鍵值須非空不重復(fù);

    可設(shè)置單字段主鍵,也可設(shè)置多字段聯(lián)合主鍵;

    聯(lián)合主鍵中多個(gè)字段的取值完全相同時(shí),才違反主鍵約束

    添加主鍵約束:列級(jí)添加主鍵約束:create table <表名> (<字段名1> <字段類型1> primary key,……<字段名n> <字段類型n>);

    表級(jí)添加主鍵約束:create table <表名>(<字段名1> <字段類型1>,......<字段名n> <字段類型n>,[constraint 主鍵約束名] primary key(字段名1[,字段名2,...字段名n]));

  2. 唯一約束(unique)

    指定字段的取值不能重復(fù),可以為空,但只能出現(xiàn)一個(gè)空值;

    添加唯一約束:列級(jí)添加唯一約束:create table <表名> (<字段名1> <字段類型1> unique,……<字段名n> <字段類型n>);

    表級(jí)添加唯一約束:create table <表名> (<字段名1> <字段類型1,……<字段名n> <字段類型n>,[constraint 唯一約束名] unique (字段名1[,字段名2...字段名n]));

  3. 自動(dòng)增長(zhǎng)列(auto_increment)

    指定字段的取值自動(dòng)生成,默認(rèn)從1開(kāi)始,每增加一條記錄,該字段的取值會(huì)加1;

    只適用于整數(shù)型,配合主鍵一起使用;

    創(chuàng)建自動(dòng)增長(zhǎng)約束:create table <表名> (<字段名1> <字段類型1> primary key auto_increment,……<字段名n> <字段類型n>);

  4. 非空約束(not null)

    字段的值不能為空;

    創(chuàng)建非空約束:create table <表名> (<字段名1> <字段類型1> not null,……<字段名n> <字段類型n>);

  5. 默認(rèn)約束(default)

    如果新插入一條記錄時(shí)沒(méi)有為該字段賦值,系統(tǒng)會(huì)自動(dòng)為這個(gè)字段賦值為默認(rèn)約束設(shè)定的值;

    創(chuàng)建默認(rèn)約束:create table <表名> (<字段名1> <字段類型1> default value,……<字段名n> <字段類型n>);

  6. 外鍵約束(foreign key)

    在一張表中執(zhí)行數(shù)據(jù)插入、更新、刪除等操作時(shí),DBMS都會(huì)跟另一張表進(jìn)行對(duì)照,避免不規(guī)范的操作,以確保數(shù)據(jù)存儲(chǔ)的完整性。

    某一表中某字段的值依賴于另一張表中某字段的值;

    主鍵所在的表為主表,外鍵所在的表為從表;

    每一個(gè)外鍵值必須與另一個(gè)表中的主鍵值相對(duì)應(yīng);

    創(chuàng)建外鍵約束:create table <表名> (<字段名1> <字段類型1>,……<字段名n> <字段類型n>,[constraint 外鍵約束名] foreign key(字段名) references <主表>(主鍵字段));


修改數(shù)據(jù)表

修改數(shù)據(jù)庫(kù)中已經(jīng)存在的數(shù)據(jù)表的結(jié)構(gòu)

  • 修改表名:alter table 原表名 rename 新表名;

  • 修改字段名:alter table 表名 change 原字段名 新字段名 數(shù)據(jù)類型 [自增/非空/默認(rèn)] [字段位置];

  • 修改字段類型:alter table 表名 modify 字段名 新數(shù)據(jù)類型 [自增/非空/默認(rèn)] [字段位置];

  • 添加字段:alter table 表名 add 新字段名 數(shù)據(jù)類型;

  • 修改字段的排列位置:

    alter table 表名 modify 字段名 數(shù)據(jù)類型 first;

    alter table 表名 modify 要排序的字段名 數(shù)據(jù)類型 after 參照字段;

  • 刪除字段:alter table 表名 drop 字段名;


插入數(shù)據(jù)

字段名與字段值的數(shù)據(jù)類型、個(gè)數(shù)、順序必須一一對(duì)應(yīng)

  • 指定字段名插入:

    insert into 表名(字段名1[,字段名2,...]) values(字段值 1[,字段值 2,...]);

  • 不指定字段名插入:

    insert into 表名 values(字段值 1[,字段值 2,...]);

    需要為表中每一個(gè)字段指定值,且值的順序須和數(shù)據(jù)表中字段順序相同

  • 批量導(dǎo)入數(shù)據(jù):

    (路徑中不能有中文,并且要將‘\’改為‘\\’或‘/’)

load data infile ‘文件路徑.csv’into table 表名[ fields terminated by ‘,' ignore 1 lines];

show variables like '%secure%';-- 查看安全路徑


更新數(shù)據(jù)

update 表名 set 字段名1=字段值1[, 字段名2=字段值2[,…]][ where 更新條件];

set sql_safe_updates=0; -- 設(shè)置數(shù)據(jù)庫(kù)安全權(quán)限,從而執(zhí)行批量操作


刪除數(shù)據(jù)

  • delete from 表名[ where 刪除條件];

  • truncate 表名;(與delete from 表名一樣,都是刪除表中全部數(shù)據(jù),保留表結(jié)構(gòu)

  • delete和truncate的區(qū)別:

    delete可以添加where子句刪除表中部分?jǐn)?shù)據(jù),truncate只能刪除表中全部數(shù)據(jù)

    delete刪除表中數(shù)據(jù)保留表結(jié)構(gòu),truncate直接把表刪除(drop table)然后再創(chuàng)建一張新表(create table),執(zhí)行速度比delete快。

29.5317
1
關(guān)注作者
收藏
評(píng)論(0)

發(fā)表評(píng)論

暫無(wú)數(shù)據(jù)
推薦帖子