第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

MySQL8.0零基礎(chǔ)入門之從青銅到鉆石

難度入門
時(shí)長(zhǎng) 5小時(shí)30分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.43
38人評(píng)價(jià) 查看評(píng)價(jià)
9.7 內(nèi)容實(shí)用
9.2 簡(jiǎn)潔易懂
9.4 邏輯清晰
  • sql 語(yǔ)句:DDL 語(yǔ)句,DML 語(yǔ)句,DQL 語(yǔ)句,DCL 語(yǔ)句

    DDL 語(yǔ)句操作數(shù)據(jù)庫(kù)以及的 create, drop, alter

    DML 語(yǔ)句對(duì)表數(shù)據(jù)進(jìn)行 insert(增加),delete(刪除),update(修改)

    DQL 語(yǔ)句對(duì)表數(shù)據(jù)進(jìn)行 select 查詢

    mysql 數(shù)據(jù)庫(kù)約束:主鍵約束,唯一約束,非空約束

    控制臺(tái)連接數(shù)據(jù)庫(kù)

    //?登錄格式1????mysql?-u用戶名?-p密碼
    mysql?-uroot?-proot
    //?登錄格式2????mysql?-hip地址?-u用戶名?-p密碼
    mysql?-u127.0.0.1?-uroot?-proot
    //?登錄格式3????mysql?--host=ip地址?--user=用戶名?--password=密碼
    mysql?--host=127.0.0.1?--user=root?--password=root
    
    //?exit?退出數(shù)據(jù)庫(kù)

    sql 結(jié)構(gòu)化查詢語(yǔ)言

    1. DDL 數(shù)據(jù)定義語(yǔ)言

      1. 用來(lái)定義數(shù)據(jù)庫(kù)對(duì)象:數(shù)據(jù)庫(kù),表,列。關(guān)鍵字:create, drop, alter

    2. DML 語(yǔ)句 數(shù)據(jù)操作語(yǔ)言

      1. 用來(lái)對(duì)數(shù)據(jù)庫(kù)中表的數(shù)據(jù)進(jìn)行增刪改查。關(guān)鍵字:insert, delete, update

    3. DQL 語(yǔ)句 數(shù)據(jù)查詢語(yǔ)言

      1. 用來(lái)查詢數(shù)據(jù)庫(kù)中表的記錄(數(shù)據(jù))。關(guān)鍵字:select, where

    4. DCL 語(yǔ)句 數(shù)據(jù)控制語(yǔ)言

      1. 用來(lái)定義數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限和安全級(jí)別,及創(chuàng)建用戶。關(guān)鍵字:GRANT, REVOKE

    sql 通用語(yǔ)法

    sql 語(yǔ)句可以單行或多行,以分號(hào)結(jié)尾

    可以使用空格和縮進(jìn)來(lái)增強(qiáng)語(yǔ)句的可讀性

    mysql 數(shù)據(jù)庫(kù)的 sql 語(yǔ)句不區(qū)分大小寫,關(guān)鍵字建議使用大寫

    DDL 語(yǔ)句

    創(chuàng)建數(shù)據(jù)庫(kù)

    --??直接創(chuàng)建數(shù)據(jù)庫(kù)
    ????CREATE?DATABASE?數(shù)據(jù)庫(kù)名;
    --??判斷是否存在并創(chuàng)建數(shù)據(jù)庫(kù)
    ????CREATE?DATABASE?IF?NOT?EXISTS?數(shù)據(jù)庫(kù)名;
    --??創(chuàng)建數(shù)據(jù)庫(kù)并指定字符集(編碼類型)
    ????CREATE?DATABASE?數(shù)據(jù)庫(kù)名?CHARACTER?SET?字符集;
    
    ????CREATE?DATABASE?db1;
    ????CREATE?DATABASE?IF?NOT?EXISTS?db2;
    ????CREATE?DATABASE?db3?CHARACTER?SET?gbk;
    
    --??查看某個(gè)數(shù)據(jù)庫(kù)
    ????SHOW?CREATE?DATABASE?數(shù)據(jù)庫(kù)名;
    ????SHOW?CREATE?DATABASE?db1;

    修改數(shù)據(jù)庫(kù)

    --??修改數(shù)據(jù)庫(kù)字符集格式
    ????ALTER?DATABASE?數(shù)據(jù)庫(kù)名?DEFAULT?CHARACTER?SET?字符集;
    
    ????ALTER?DATABASE?db3?DEFAULT?CHARACTER?SET?UTF8;

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

    --??刪除數(shù)據(jù)庫(kù)
    DROP?DATABASE?數(shù)據(jù)庫(kù)名;
    
    DROP?DATABASE?db4;

    使用數(shù)據(jù)庫(kù)

    --??查看正在使用的數(shù)據(jù)庫(kù)
    ????SELECT?DATABASE();
    --??切換數(shù)據(jù)庫(kù)
    ????USE?數(shù)據(jù)庫(kù)名;
    
    ????USE?DB2;

    創(chuàng)建表

    CREATE?TABLE?表名?(字段名1,字段類型1,字段名2,字段類型2......);
    
    --??建議寫成如下格式
    CREATE?TABLE?表名?(
    ????字段名1,字段類型1,
    ????字段名2,字段類型2,
    ????......
    );
    
    CREATE?TABLE?student(
    ????id?int,
    ????name?varchar(10),
    ????age?int,
    ????birthday?date,
    ????sex?char(1)
    );

    mysql 數(shù)據(jù)庫(kù)常用類型

    類型描述
    int整型
    double浮點(diǎn)型
    varchar字符串型
    data日期類型:yyyy-mm-dd

    詳細(xì)的數(shù)據(jù)類型

    分類類型名稱說(shuō)明
    整數(shù)類型tinylnt很小的整數(shù)

    smallint小的整數(shù)

    mediumint中等大小的整數(shù)

    int(integer)普通大小的整數(shù)
    小數(shù)類型float單精度浮點(diǎn)數(shù)

    double雙精度浮點(diǎn)數(shù)

    decimal (m,d)壓縮嚴(yán)格的定點(diǎn)數(shù)
    日期類型yearYYYY 1901-2155

    timeHH:MM:SS

    dataYYYY-MM-DD

    datatimeYYYY-MM-DD HH:MM:SS

    timestamp
    文本,二進(jìn)制類型CHAR(M)M 為 0~255 之間的整數(shù)

    VARCHAR(M)M 為 0~65535 之間的整數(shù)

    TINYBLOB允許長(zhǎng)度 0~255 字節(jié)

    BLOB允許長(zhǎng)度 0~65535 字節(jié)

    MEDIUMBLOB允許長(zhǎng)度 0~167772150 字節(jié)

    LONGBLOB允許長(zhǎng)度 0~4294967295 字節(jié)

    TINYTEXT允許長(zhǎng)度 0~255 字節(jié)

    TEXT允許長(zhǎng)度 0~65535 字節(jié)

    MEDIUMTEXT允許長(zhǎng)度 0~167772150 字節(jié)

    LONGTEXT允許長(zhǎng)度 0~4294967295 字節(jié)

    VARBINAPY(M)允許長(zhǎng)度 0~M 個(gè)字節(jié)的變長(zhǎng)字節(jié)字符串

    BINARY(M)允許長(zhǎng)度 0~M 個(gè)字節(jié)的變長(zhǎng)字節(jié)字符串

    查看表

    --??查看某個(gè)數(shù)據(jù)庫(kù)中的所有表
    ????SHOW?TABLES;
    --??查看表結(jié)構(gòu)
    ????DESC?表名;
    --??查看創(chuàng)建表的sql語(yǔ)句
    ????SHOW?CREATE?TABLE?表名;

    快速創(chuàng)建一個(gè)表結(jié)構(gòu)相同的表

    CREATE?TABLE?新表名?LIKE?舊表名;
    --??創(chuàng)建?s1?表,?表結(jié)構(gòu)和student表結(jié)構(gòu)相同
    CREATE?TABLE?s1?LIKE?student;

    刪除表

    --??直接刪除表
    DROP?TABLE?表名;
    --??判斷表是否存在并刪除表
    DROP?TABLE?IF?EXISTS?表名;
    
    DROP?TABLE?db1;
    DROP?TABLE?IF?EXISTS?db2;

    修改表結(jié)構(gòu)

    --??添加表列
    ALTER?TABLE?表名?ADD?列名?類型;
    --??修改列類型
    ALTER?TABLE?表名?MODIFY?列名?新的類型;
    --??修改列名
    ALTER?TABLE?表名?CHANGE?舊列名?行列名?類型;
    --??刪除列
    ALTER?TABLE?表名?DROP?列名;
    --??修改表名
    RENAME?TABLE?表名?TO?新表名;
    --??修改字符集
    ALTER?TABLE?表名?character?set?字符集;

    DML 語(yǔ)句

    插入記錄

    1.關(guān)鍵字說(shuō)明

    INSERT?INTO?表名?-?表示往那張表添加數(shù)據(jù)
    (字段名1,?字段名2,?...);????--?要給那些字段設(shè)置值
    VALUES?(值1,?值2,?...);??--?設(shè)置的具體的值

    值與字段必須對(duì)應(yīng),個(gè)數(shù)相同,類型相同

    值的數(shù)據(jù)大小必須在字段的長(zhǎng)度范圍之內(nèi)

    除了數(shù)組類型外,其他字段類型的值必須使用引號(hào)引起。(建議使用單引號(hào))

    如果要插入空值,可以不寫字段,或者插入 null

    插入全部字段

    --??所有的字段名都寫出來(lái)
    ????INSERT?INTO?表名?(字段名1,?字段名2,?...)?VALUES?(值1,?值2,?...);
    --??不寫字段名
    ????INSERT?INTO?表名?VALUES?(值1,?值2,?...);

    插入部分?jǐn)?shù)據(jù)

    --??沒有添加數(shù)據(jù)的字段會(huì)使用null
    ????INSERT?INTO?表名?(字段名1,?字段名3,?...)?VALUES?(值1,?值3,?...);

    案例

    --??創(chuàng)建db3數(shù)據(jù)庫(kù)并使用
    ????CREATE?DATABASE?db3;
    ????USE?db3;
    --??創(chuàng)建完整學(xué)生信息表,包括學(xué)員的id,姓名,年齡,性別,家庭地址,電話號(hào)碼,生日,數(shù)學(xué)成績(jī),英語(yǔ)成績(jī)
    CREATE?TABLE?student(
    ????id?int,
    ????name?varchar(20),
    ????age?int,
    ????sex?char(1),
    ????address?varchar(200),
    ????phone?varchar(20),
    ????birthday?date,
    ????math?double,
    ????english?double
    );
    --??插入一條數(shù)據(jù)?順序可以打亂,字段名和值要對(duì)應(yīng)
    INSERT?INTO?student(id,name,sex,age,birthday,address,phone,math,english)values(1,'zhangsan','男','19','2010-12-11','北京市','18833336666',98.5,67);
    --??校驗(yàn)插入的數(shù)據(jù),查看student表的所有字段數(shù)據(jù)
    SELECT?*?FROM?student;

    蠕蟲復(fù)制

    在已有的數(shù)據(jù)基礎(chǔ)上,將原來(lái)的數(shù)據(jù)進(jìn)行復(fù)制,插入到對(duì)應(yīng)的表中

    --??語(yǔ)法格式化
    INSERT?INTO?表名1?SELECT?*?FROM?表名2;
    
    --??創(chuàng)建student2表,student2結(jié)構(gòu)和student表結(jié)構(gòu)一樣
    CREATE?TABLE?student?LIKE?student2;
    --??將student表中的數(shù)據(jù)添加到student2表中
    INSERT?INTO?student?SELECT?*?FROM?student2;
    
    --??只復(fù)制student表中name,age字段數(shù)據(jù)到student2表中使用如下格式
    INSERT?INTO?student2(name,age)?SELECT?name,age?FROM?student;

    更新表記錄

    --??不帶條件修改數(shù)據(jù)????全部修改
    UPDATE?表名?SET?字段名=值;
    --??帶條件修改數(shù)據(jù)??????指定范圍修改
    UPDATE?表名?SET?字段名=值?WHERE?字段名=值;
    
    --??關(guān)鍵字?UPDATE:?修改數(shù)據(jù)?SET:?修改哪些字段??WHERE:?指定條件
    
    --??不帶修改條件,將所有的性別改為女
    UPDATE?student?SET?sex='女';
    --??帶條件修改數(shù)據(jù),將id為2的學(xué)生性別修改為難
    UPDATE?student?SET?sex='男'?WHERE?id=2;
    --??一次修改多列,把id為3的學(xué)生,年齡改為26,?address改為北京
    UPDATE?student?SET?age=26,?address='北京'?WHERE?id=3;

    刪除表記錄

    --??不帶條件刪除數(shù)據(jù)
    DELETE?FROM?表名;
    --??帶條件刪除數(shù)據(jù)
    DELETE?FROM?表名?WHERE?字段名=值;
    
    --??帶條件刪除數(shù)據(jù),刪除id為3的記錄
    DELETE?FROM?student?WHERE?id=3;
    --??不帶條件刪除數(shù)據(jù)刪除表中的所有數(shù)據(jù)
    DELETE?FROM?student;

    truncate 刪除表記錄

    delete 是將表中的數(shù)據(jù)一條一條刪除

    truncate 是將整個(gè)表摧毀,重新創(chuàng)建一個(gè)新的表,新的表結(jié)構(gòu)和原來(lái)的表結(jié)構(gòu)一模一樣

    TRUNCATE?TABLE?表名;

    DQL 語(yǔ)句

    簡(jiǎn)單查詢

    --創(chuàng)建student表
    CREATE?TABLE?student(
    ????id?int,
    ????name?varchar(20),
    ????age?int,
    ????sex?char(1),
    ????address?varchar(200),
    ????phone?varchar(20),
    ????birthday?date,
    ????math?doub1e,
    ????english?doub1e
    );
    --為student準(zhǔn)備數(shù)據(jù)
    
    INSERT?INTO?student?values(1,'閆妮',43,'女','北京市',?'12222222222',?'2019-02-12',92.5,88);
    INSERT?INTO?student?values(2,'郭富城',21,'男','上海市','1666666666',?'2018-06-O6',97.5,65.5);
    INSERT?INTO?student?values(4,?'張學(xué)友',34,'男','杭州市','17777777777','2013-11-17',69,65);
    INSERT?INTO?student?values(5,'成龍',51,'男','哈爾濱市','15555555555',?'2005-10-12',88,97);
    INSERT?INTO?student?values(6,'劉德華',57,'男','盤錦市','19999999999',?'2015-11-11',74.5,92.5);
    INSERT?INTO?student?values(7,'馬伊刺',42,'女','長(zhǎng)沙市','18888888888'?,?'2008-03-26',86.5,71.5);
    INSERT?INTO?student?values(8,'黎明',49,'男','昆明市','11111111111','2000-09-14',77.5,60);I

    查詢表所有數(shù)據(jù)

    --??使用*表示所有列
    SELECT?*?FROM?表名;
    
    SELECT?*?FROM?student;
    --??寫出查詢每列的名稱
    SELECT?字段名1,字段名2,字段名3,...?FROM?表名;
    
    SELECT?id,name,age,sex,address,phone?FROM?表名;

    查詢指定列

    --??寫出查詢每列的名稱
    SELECT?字段名1,字段名2,字段名3,...?FROM?表名;
    
    SELECT?id,name,age?FROM?表名;

    別名查詢

    --??查詢時(shí)給列、表指定別名需要使用as關(guān)鍵字
    --??使用別名的好處是方便觀看和處理查詢到的數(shù)據(jù)
    SELECT?字段名1?AS?別名,?字段名2?AS?別名,...?FROM?表名;
    
    SELECT?name?AS?姓名,?age?AS?年齡?FROM?student;

    清除重復(fù)值

    --??查詢指定列?并且?結(jié)果?不出現(xiàn)重復(fù)數(shù)據(jù)
    SELECT?DISTINCT?字段名?FROM?表名;
    
    --??查詢name,age列并且?結(jié)果?不出現(xiàn)重復(fù)name
    SELECT?DISTINCT?name,?age?FROM?student;

    查詢結(jié)果參與運(yùn)算

    參與運(yùn)算的必須是數(shù)值類型,查詢顯示新列,不會(huì)改動(dòng)原數(shù)據(jù)

    --??某列數(shù)據(jù)和固定值運(yùn)算
    SELECT?列名1?+?固定值?FROM?表名;
    --??某列數(shù)據(jù)和其他列數(shù)據(jù)參與運(yùn)算
    SELECT?列名1?+?列名2?FROM?表名;
    
    SELECT?math+english?總成績(jī)?FROM?student;
    SELECT?name?姓名,sex?性別,math?數(shù)學(xué)成績(jī),english?英語(yǔ)成績(jī),math+english?總成績(jī)?FROM?student;
    
    SELECT?name,age+10?FROM?student;

    條件查詢

    --??語(yǔ)法格式
    SELECT?字段名?FROM?表名?WHERE?條件;
    
    
    --??準(zhǔn)備數(shù)據(jù)
    INSERT?into?hero?values(1,'業(yè)瑟',35,'男',320,'戰(zhàn)上',3000,0,1,'2017-05-14',14.2);
    INSERT?into?hero?values(2,'阿呆',19,'女',470,'刺客',1500,1100,0,'2019-06-11',15.6);
    INSERT?into?hero?values(3,'老人子',75,'男',430,'戰(zhàn)士',2500,0,1,?'2016-11-18',17.7);
    INSERT?into?hero?values(4,?'呂布',40,'男',500,'悅士',2700,1000,1,?'?2015-04-22',12.2);
    INSERT?into?hero?values(5,'甄姬',27,'女',210,'法師'?,1400,1900,0,'2018-06-06',13.1);
    INSERT?into?hero?values(6,'旗嫩',25,'女',370,'時(shí)手',1600,1200,1,'2013-02-24',11.2);
    INSERT?into?hero?values(7,'德瑪調(diào)亞',35,'男',220,'戰(zhàn)上'?,?39oo,1500,1,'2011-02-14',11.2);
    INSERT?into?hero?values(8,'孫尚否',24,'女',260,'時(shí)手',1300,900,0,'2020-03-12',9.2);
    INSERT?into?hero?values(9,'孫策',39,'',280,'戰(zhàn)上',3200,1100,1,'2016-07-14',16.7);
    INSERT?into?hero?values(10,'孫悟空',32,'男',460,'戰(zhàn)上',2900,1300,o,'2013-02-11',17.2);
    INSERT?into?hero?values(11,'公孫策',37,'男',210,'法師',2200,700,1,?'2019-09-16',11.4);
    INSERT?into?hero?values(12,'上行孫',22,'男',195,?'W客',1400,1700,1,'2013-02-16',12.4);
    INSERT?into?hero?values(13,'后蕾',39,'男',420,"射手',780,700,0,'2019-01-19'?,NULL);

    比較運(yùn)算符

    --??>?大于?<?小于?<=?小于等于??>=?大于等于??<>??!=??不等于
    SELECT?*?FROM?hero?where?條件(字段?運(yùn)算符?篩選條件);
    
    --??查詢?定位為射手的英雄
    SELECT?*?FROM?hero?where?location='射手';

    邏輯運(yùn)算符

    --??and?多個(gè)條件同時(shí)滿足
    --??or?多個(gè)條件其中一個(gè)滿足
    --??not?不滿足
    SELECT?*?FROM?hero?where?age>35?AND?life>2500;
    SELECT?*?FROM?hero?where?age>35?OR?max_score<1;
    SELECT?*?FROM?hero?where?id=1?OR?if=4?OR?id=5;
    
    --??in?關(guān)鍵字?in里面的每個(gè)數(shù)據(jù)都會(huì)作為一次條件
    SELECT?*?FROM?hero?where?id?in?(1,4,5);

    范圍

    --??BETWEEN?值1?AND?值2??表示從值1到值2的范圍,包頭包尾
    
    SELECT?*?FROM?hero?WHERE?grounding_data?BETWEEN?'2013-01-01'?AND?'2017-01-01';
    SELECT?*?FROM?hero?WHERE?grounding_data?>=?'2013-01-01'?AND?grounding_data?<=?'2017-01-01';

    like 模糊查詢

    --??LIKE?表示模糊查詢
    SELECT?*?FROM?表名?WHERE?字段名?LIKE?'通配符字符串';
    --??MySQL?通配符有兩個(gè)?%:?表示0個(gè)或多個(gè)字符??_:?表示一個(gè)字符
    
    --??查詢姓孫的英雄
    SELECT?*?FROM?hero?WHERE?name?LIKE?'孫%';
    --??查詢名字中含有孫字的英雄
    SELECT?*?FROM?hero?WHERE?name?LIKE?'%孫%';
    --??查詢姓孫,且姓名是三個(gè)字的英雄
    SELECT?*?FROM?hero?WHERE?name?LIKE?'孫__';

    排序

    --??ORDER?BY?子句?可以將查詢的結(jié)果進(jìn)行排序?(排序只是顯示方式,?不會(huì)改變數(shù)據(jù)庫(kù)中數(shù)據(jù)的順序)
    SELECT?字段名?FROM?表名?WHERE?字段=值?ORDER?BY?字段名?[ASC|DESC];
    --??ASC?升序,默認(rèn)的?DESC?降序
    
    --??單列排序?使用一個(gè)字段進(jìn)行排序
    --??查詢年齡小于35的英雄,按照年齡升序排列
    SELECT?*?FROM?hero?WHERE?age<=35?ORDER?BY?age?ASC;
    
    --??組合排序?先使用第一個(gè)字段進(jìn)行排序?如果第一個(gè)字段相同,才使用第二個(gè)字段進(jìn)行排序。以此類推
    SELECT?字段名?FROM?FROM?表名?WHERE字段=值?ORDER?BY?字段名1?[ASC|DESC],?字段名2?[ASC|DESC];
    --??查詢年齡小于35歲的英雄?按照年齡升序?如果年齡相同?按照生命值降序排列
    SELECT?*?FROM?hero?WHERE?age<=35?ORDER?BY?age?ASC,lifr?desc;

    聚合函數(shù)

    之前的查詢都是橫向查詢,根據(jù)條件一行一行的進(jìn)行判斷,而聚合函數(shù)查詢是縱向查詢,對(duì)一列的值進(jìn)行計(jì)算,返回結(jié)果值。聚合函數(shù)會(huì)忽略空值

    • count: ?統(tǒng)計(jì)指定列的記錄數(shù)(行數(shù)),值為NULL的不統(tǒng)計(jì)

    • sum: ?計(jì)算指定列的數(shù)值和,如果不是數(shù)值,計(jì)算結(jié)果為0

    • max: ?計(jì)算指定列的最大值

    • min: ?計(jì)算指定列的最小值

    • avg: ?計(jì)算指定列的平均值,如果不是數(shù)值,計(jì)算結(jié)果為0

    --??聚合函數(shù)寫在sql語(yǔ)句SELECT?后?字段名的地方
    SELECT?字段名...?FROM?表名;
    SELECT?COUNT(age)?FROM?表名;
    --??查詢英雄的總數(shù)
    SELECT?COUTN(max_SCORE)?FROM?hero;
    
    --??對(duì)于NULL的記錄不統(tǒng)計(jì),只要只用全部字段為衡量標(biāo)準(zhǔn)就不會(huì)有遺漏的錯(cuò)誤統(tǒng)計(jì)出現(xiàn)
    SELECT?COUNT(*)?FROM?hero;

    分組查詢

    --??分組查詢是使用?GROUP?BY語(yǔ)句對(duì)查詢信息進(jìn)行分組??[HAVING?條件]?分組后的篩選
    SELECT?字段1,字段2...?FROM?表名?GROUP?BY?分組字段?[HAVING?條件];
    
    SELECT?*?FROM?hero?FROUP?BY?sex;
    --??這就sql語(yǔ)句會(huì)將sex相同的數(shù)據(jù)作為一組,但是會(huì)返回每組的第一條,沒有任何意義
    
    --??分組的目的就是為了統(tǒng)計(jì),一般分組會(huì)和聚合函數(shù)一起使用
    --??分組后聚合函數(shù)?不操作所有數(shù)據(jù),而是操作一組數(shù)據(jù)
    
    SELECT?SUM(life)?FROM?hero?GROUP?BY?sex;?--??返回兩組的生命值之和
    --??當(dāng)使用摸個(gè)字段分組時(shí),需要將這個(gè)字段查詢出來(lái),否則看不到數(shù)據(jù)是屬于哪組的
    SELECT?SUM(life),sex?FROM?hero?GROUP?BY?sex;
    
    --??查詢年齡小于30的,按性別進(jìn)行分組,統(tǒng)計(jì)每組的人數(shù)
    --?1.先過(guò)濾年齡小于30的?2.分組?3.最后統(tǒng)計(jì)人數(shù)
    SELECT?sex,COUNT(*)?FROM?hero?WHERE?age<30?GROUP?BY?sex;
    
    --??查詢年齡大于25的?按性別分組,統(tǒng)計(jì)每組人數(shù),?并只顯示性別人數(shù)大于2的數(shù)據(jù)
    --??錯(cuò)誤
    SELECT?sex,conut(*)?FROM?hero?WHERE?age<30?GROUP?BY?sex?WHERE?COUNT(*)>2;
    --??正確
    SELECT?sex,conut(*)?FROM?hero?WHERE?age<30?GROUP?BY?sex?HAVING?COUNT(*)>2;

    limit語(yǔ)句 分頁(yè)

    limit語(yǔ)句是限制的意思,限制查詢記錄的條數(shù)。limit語(yǔ)句要放在最后面

    --??LIMIT語(yǔ)法格式
    LIMIT?offset,length;??LIMIT?length;
    --??offset是指偏移量,調(diào)過(guò)的記錄數(shù)量,默認(rèn)為0??length是指需要顯示的總記錄數(shù)
    
    --??查詢hero表,從第三條開始顯示,顯示6條
    SELECT?*?FROM?hero?LIMIT?2,6;

    數(shù)據(jù)庫(kù)約束

    約束種類

    • PRIMARY KEY : ?主鍵

    • UNIQUE : 唯一

    • NOT NULL : 非空

    • DEFAULT : 默認(rèn)

    • FOREIGN KEY : 外鍵

    主鍵約束

    每個(gè)表有且只有一個(gè)主鍵,通常以id為主鍵

    主鍵的特點(diǎn):

    • 主鍵必須包含唯一的值(不重復(fù))

    • 主鍵不能包含NULL值

    --??創(chuàng)建主鍵
    字段名?字段類型?PRIMARY?KEY;
    --??創(chuàng)建表hero1,包含字段(id,name,age)將id作為主鍵
    CREATE?TABLE?hero1(
    ?id?int?PRIMARY?KEY,
    ????name?varchar(20),
    ????age?int
    )

    刪除主鍵

    --?刪除主鍵
    ALTER?TABLE?表名?DROP?PRIMARY?KEY;
    --?刪除hero1表的主鍵
    ALTER?TABLE?hero1?DROP?PRIMARY?KEY;

    主鍵自增

    --??AUTO_INCREMENT表示自動(dòng)增長(zhǎng)
    
    --??創(chuàng)建表hero2,包含字段(id,name,age)將id作為主鍵并自動(dòng)增長(zhǎng)
    CREATE?TABLE?hero2(
    ?id?int?PRIMARY?KEY?AUTO_INCREMENT,
    ????name?varchar(20),
    ????age?int
    )

    擴(kuò)展:默認(rèn)的AUTO_INCREMENT的起始值是1,下列語(yǔ)法可以修改起始值

    AUTO_INCREMENT?表名?AUTO_INCREMENT?=?起始值;

    DELETE和TRUNCATE的區(qū)別 ●DELETE刪除表中的數(shù)據(jù),但不重置AUTO_ INCREMENT的值。 ●TRUNCATE摧毀表,重建表,AUTO_ _INCREMENT重置為1

    唯一約束

    --??唯一約束
    字段名?字段類型?UNIQUE;
    --??創(chuàng)建表hero3,包含字段(id,name)將name設(shè)為唯一約束,不能出現(xiàn)相同的數(shù)據(jù)
    CREATE?TABLE?hero3(
    ?id?int,
    ????name?varchar(20)?UNIQUE
    )

    非空約束

    --??非空約束
    字段名?字段類型?NOT?NULL;
    --??創(chuàng)建表hero4,包含字段(id,name)將name設(shè)為非空約束,name不能為NULL
    CREATE?TABLE?hero4(
    ?id?int,
    ????name?varchar(20)?NOT?NULL
    )

    默認(rèn)值

    --??默認(rèn)值格式
    字段名?字段類型?DEFAULT?默認(rèn)值;
    --??創(chuàng)建表hero5,包含字段(id,name),name默認(rèn)是英雄
    CREATE?TABLE?hero5(
    ?id?int,
    ????name?varchar(20)?DEFAULT?'英雄'
    )



    查看全部
    26 采集 收起 來(lái)源:總結(jié)

    2020-10-17

  • powerdesigner??數(shù)據(jù)庫(kù)建模工具


    查看全部
  • SQL? 結(jié)構(gòu)化查詢語(yǔ)言

    查看全部
    0 采集 收起 來(lái)源:SQL的概述以及分類

    2020-10-17

  • // 登錄格式1 mysql -u用戶名 -p密碼

    mysql -uroot -proot

    // 登錄格式2 mysql -hip地址 -u用戶名 -p密碼

    mysql -u127.0.0.1 -uroot -proot

    // 登錄格式3 mysql --host=ip地址 --user=用戶名 --password=密碼

    mysql --host=127.0.0.1 --user=root --password=root


    // exit 退出數(shù)據(jù)庫(kù)


    查看全部
  • sql語(yǔ)句:DDL語(yǔ)句,DML語(yǔ)句,DQL語(yǔ)句,DCL語(yǔ)句

    DDL語(yǔ)句操作數(shù)據(jù)庫(kù)以及的 create, drop, alter

    DML語(yǔ)句對(duì)表數(shù)據(jù)進(jìn)行insert(增加),delete(刪除),update(修改)

    DQL語(yǔ)句對(duì)表數(shù)據(jù)進(jìn)行select查詢

    mysql數(shù)據(jù)庫(kù)約束:主鍵約束,唯一約束,非空約束


    查看全部
  • DDL:數(shù)據(jù)定義語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)對(duì)象;數(shù)據(jù)庫(kù)、表、列等,關(guān)鍵字:create、drop、alter等

    DML:數(shù)據(jù)操作語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)庫(kù)中表的數(shù)據(jù)進(jìn)行增刪改。關(guān)鍵字:insert、delete、update等

    DQL:數(shù)據(jù)庫(kù)查詢語(yǔ)言,用來(lái)查詢數(shù)據(jù)庫(kù)中表的記錄,關(guān)鍵字:select,where等

    DCL:數(shù)據(jù)控制語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限和安全級(jí)別,以及創(chuàng)建用戶。關(guān)鍵字:grant,revoke等

    查看全部
    1 采集 收起 來(lái)源:SQL的概述以及分類

    2020-10-16

  • 唯一約束:在這張表中這個(gè)字段的值不能重復(fù)

    字段名 字段類型 UNIQUE


    查看全部
  • 數(shù)據(jù)可的約束

    主鍵約束 ? 用來(lái)唯一標(biāo)識(shí)一條記錄(不能有空值)

    創(chuàng)建: 字段名 類型名 PRIMARY key

    主鍵自增

    創(chuàng)建: 字段名 類型名 primary key AUTO_INCREMENT

    擴(kuò)展

    默認(rèn)的AUTO_INCREMENT的開始值是1,如果希望修改起始值,可用

    ALTER TABLE 表名 AUTO_INCREMENT = 起始值(用delete刪除記錄后重新輸入是在起始值基礎(chǔ)上增加的)


    查看全部
  • 條件查詢值模糊查詢

    SELECT * FROM 表名 WHERE 字段名 LIKE '通配字符串';

    %:表示0個(gè)或多個(gè)任意字符

    _:表示一個(gè)字符 ? ? ?? 如搜: %筆記本%

    查看全部
    0 采集 收起 來(lái)源:條件查詢之模糊查詢

    2020-10-15

  • DQL語(yǔ)句

    簡(jiǎn)單查詢

    SELECT *FROM student;

    查詢指定列

    SELECT l列名1,列名2,。。。FROM 表名;

    別名查詢(查詢時(shí)賦別名,不會(huì)改變?cè)恚?/p>

    SELECT 字段1 AS 別名,字段2 as 別名,... FROM 表名; ?? 別名為字符串時(shí)不用加單引號(hào),as 可省略。

    清除重復(fù)值

    SELECT DISITNCT 字段名 FROM 表名;

    SELECT DISITNCT 字段名1,字段名2 FROM 表名;

    查詢結(jié)果參與運(yùn)算

    某列數(shù)據(jù)和固定值運(yùn)算? SELECT 列名 + 固定值 FROM 表名;

    某列數(shù)據(jù)和其他列數(shù)據(jù)參與運(yùn)算 SELECT 列名1 + 列名2 FROM 表名;

    注意:運(yùn)算結(jié)果是查詢結(jié)果,不改變?cè)?/p>



    查看全部
  • 修改表數(shù)據(jù)

    全部修改:

    UPDATE 表名 set 列 = 修改值;

    update student set sex = '女';

    條件修改

    update student set sex = '男' where id = 2;

    多字段條件修改

    update student set sex = '女' , address = '上海' where id = 3;

    刪除表

    全部刪除(表還在,但為空)

    DELECT FROM 表名;

    條件刪除(刪除行)

    DELETE FROM student where id = 3;


    TRUNCATE TABLE 表名; ? ? 先摧毀該表,并創(chuàng)建一個(gè)結(jié)構(gòu)名、結(jié)構(gòu)一樣的新表,但無(wú)數(shù)據(jù)。而delete則是一條一條的刪除數(shù)據(jù)




    查看全部
  • 蠕蟲復(fù)制:

    創(chuàng)建student1表,結(jié)構(gòu)與student相同

    CREATE TABLE student1 LIKE student;


    將student表中的數(shù)據(jù)復(fù)制到student1中(復(fù)制全部字段)

    INSERT INTO student1 SELECT * FROM student;

    SELECT * FROM student1;

    復(fù)制部分字段

    如只想復(fù)制student表中的name, address字段到student2中:

    CREATE TABLE student2 LIKE student1;

    INSERT INTO student2(name, address)SELECT nmae, address FROM student1;

    SELECT * FROM student2;


    查看全部
    0 采集 收起 來(lái)源:蠕蟲復(fù)制

    2020-10-13

  • DML語(yǔ)句:數(shù)據(jù)操作語(yǔ)言

    插入insert

    (添加所有值)

    第一種:INSERT INTO 表名 (字段名1, 字段名2, 字段名3)VALUES (值1, 值2, 值3);

    第二種:INSERT INTO 表名 VALUES (值1, 值2, 值3);

    (添加部分值)

    INSERT INTO 表名 (字段名1, 字段名2, ...)VALUES (值1, 值2,...);

    沒有添加數(shù)據(jù)的字段會(huì)使用NULL





    查看全部
  • DDL操作表:前提先使用某個(gè)數(shù)據(jù)庫(kù)

    創(chuàng)建表: CREATE TABLE 表名 (字段1 類型1, 字段2 類型2, ...);

    字段須為英文

    CREATE TABLE student (id int, name varchar(10), birthday data, sex char(1));

    char(M)\varcgar(M), M表示字符或字符串的規(guī)格大小

    SHOW TABLES; ? 查看表

    DESC 表名; ?? 查看表結(jié)構(gòu)

    SHOW CREATE TABLE 表名; ?? 查看創(chuàng)建表的SQL語(yǔ)句

    CREATE TABLE 新表明 LIKE 舊表名; ?? 快速創(chuàng)建相同表結(jié)構(gòu)的表

    DROP TABLE 表名;? 刪除表

    SHOW TABLES;

    DROP TABLE IF EXISTS 表名; ? 判斷表是否存在并刪除表

    SHOW TABLES;

    修改表結(jié)構(gòu):(不常用)

    ALTER TABLE 表名 ADD 列名 類型; ? ? ? ? ? ? ? ? ? ? 添加列

    具體操作:為學(xué)生表添加一個(gè)新的字段remark,類型為varchar(20)

    ALTER TABLE student ADD remark VARCHAR(20);

    DESC student;

    ALTER TABLE 表名 MODIFY 列名 新的類型; ? ? ? ? ? ? 修改列類型

    ALTER TABLE student MODIFY remark varchar(100);

    DESC student;

    ALTER TABLE 表名 CHANGE 舊列名 新列名 類型; ? ? ? ? ? ? 修改列名

    ALTER TABLE studentCHANGE remark intro varchar(30);

    DESC student;

    ALTER TABLE 表名 DROP 列名; ? ? ? ? ? ?? 刪除列

    ALTER TABLE student DROP intro;

    DESC student;

    RENAME TABLE 表名 TO 新表名; ? ? ? ? ? ? ? ? 修改表名

    RENAME TABLE student TO student2;

    SHOW TABLES;

    ALTER TABLE 表名 CHARACTER SET 字符集; ? ? ? ? ? ?? 修改字符集

    具體操作:將student2表的編碼修改為gbk

    SHOW CREATE TABLE student2;

    ALTER TABLE student2 character set gbk;

    SHOW CREATE TABLE student2;














    查看全部
  • mysql -uroot -proot

    創(chuàng)建:CREATE DATABASE db1;

    查看:SHOW DATABASES;

    CREATE DATABASE IF NAT EXISTS db2;(用于數(shù)據(jù)庫(kù)的備份與還原)

    CREATE DATABASE IF NAT EXISTS db2;

    SHOW DATABASE;

    CREATE DATABASE db3 CHARACTER SET gbk;

    SHOW DATABASES;

    查看數(shù)據(jù)庫(kù)創(chuàng)建時(shí)候的字符(字符集)語(yǔ)句(定義信息):

    SHOW CREATE DATABASE db3;

    SHOW CREATE DATABASE db2;

    修改數(shù)據(jù)庫(kù)字符集格式

    ALTER DATABASE db2 DEFAULT CHARACTER SET gbk;

    DROP DATABASE db3;(刪除數(shù)據(jù)庫(kù))

    查看正在使用的數(shù)據(jù)庫(kù):

    SELECT DATABASE();

    使用/切換數(shù)據(jù)庫(kù):

    USE db1;

    SELECT DATABASE();

    USE db2;

    SELECT DATABASE();









    ?

    查看全部
首頁(yè)上一頁(yè)1920212223下一頁(yè)尾頁(yè)

舉報(bào)

0/150
提交
取消
課程須知
學(xué)習(xí)中需要用到這些工具: —MySQL8.0 —Navicat連接工具 —DOS窗口 你需要有這些基礎(chǔ): —會(huì)使用DOS窗口
老師告訴你能學(xué)到什么?
1、什么是數(shù)據(jù)庫(kù) 2、數(shù)據(jù)庫(kù)的安裝與卸載 3、SQL基礎(chǔ)語(yǔ)法 4、DDL語(yǔ)句--對(duì)數(shù)據(jù)庫(kù)及表的增刪改查 5、DML語(yǔ)句--對(duì)數(shù)據(jù)的增刪改 6、DQL語(yǔ)句--對(duì)數(shù)據(jù)的查詢 7、數(shù)據(jù)庫(kù)表的約束

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!