




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第3單元MySQL常用操作MySQL數(shù)據(jù)庫應(yīng)用實戰(zhàn)教程(慕課版)(第2版)目錄【目錄】3.1數(shù)據(jù)庫用戶管理3.1.1連接MySQL3.1.2新增用戶3.1.3修改用戶密碼3.2數(shù)據(jù)庫操作3.2.1查看數(shù)據(jù)庫3.2.2創(chuàng)建數(shù)據(jù)庫3.2.3使用數(shù)據(jù)庫3.2.4刪除數(shù)據(jù)庫3.3表操作3.3.1創(chuàng)建表3.3.2查看表結(jié)構(gòu)3.3.3修改表結(jié)構(gòu)3.3.4復(fù)制表3.3.5使用臨時表和內(nèi)存表3.4數(shù)據(jù)操作3.4.1插入和查詢3.4.2修改記錄3.4.3刪除記錄3.4.4對查詢結(jié)果排序3.4.5對查詢結(jié)果分組3.4.6設(shè)置分組條件3.4.7限制查詢數(shù)量目錄【目錄】3.5字段操作3.5.1設(shè)置為主鍵3.5.2設(shè)置為復(fù)合主鍵3.5.3添加/刪除字段3.5.4改變字段類型3.5.5字段重命名3.5.6字段設(shè)置默認值3.5.7設(shè)置自增字段3.6客戶端操作數(shù)據(jù)庫3.7綜合實訓(xùn):設(shè)計電商平臺訂單表【學(xué)習(xí)導(dǎo)讀】假如需要設(shè)計圖書商城的數(shù)據(jù)庫,使用MySQL數(shù)據(jù)庫來存儲圖書的信息。設(shè)計一張名為“books”的數(shù)據(jù)表,包含圖書的ISBN、標(biāo)題、作者、價格和庫存等字段。在這個情景中,需要使用MySQL進行常用的增、刪、改、查操作,以便管理圖書的信息。使用INSERT語句,可以向books表中插入新的圖書記錄,包括圖書的ISBN、標(biāo)題、作者、價格和庫存等信息。當(dāng)新書上架或者庫存發(fā)生變化時,可以使用UPDATE語句來更新圖書的信息。如果一種圖書停止銷售或者下架,可以使用DELETE語句將其從數(shù)據(jù)庫中刪除,確保圖書信息的準(zhǔn)確性和實時性??梢允褂肧ELECT語句根據(jù)不同的條件查詢圖書信息。學(xué)習(xí)導(dǎo)讀【學(xué)習(xí)目標(biāo)】知識目標(biāo)1.掌握MySQL用戶管理操作。2.掌握MySQL數(shù)據(jù)庫操作。3.掌握MySQL表操作。4.掌握MySQL數(shù)據(jù)操作。5.掌握MySQL字段操作。6.了解MySQL客戶端操作數(shù)據(jù)庫。能力目標(biāo)1.能夠進行MySQL創(chuàng)建數(shù)據(jù)庫、表操作。2.能夠進行MySQL數(shù)據(jù)操作、字段操作。素質(zhì)目標(biāo)1.培養(yǎng)知識學(xué)習(xí)能力,擁有廣闊的知識面,不斷學(xué)習(xí)。2.培養(yǎng)組織能力,能夠有效地組織和管理事務(wù)。學(xué)習(xí)目標(biāo)思維導(dǎo)圖3.1數(shù)據(jù)庫用戶管理3.1.1連接MySQL連接MySQL的命令格式:mysql-h主機地址-u用戶名-p用戶密碼step01連接本地MySQL:打開命令提示符窗口,進入mysql/bin目錄下面,輸入命令“mysql-uroot-p123456”,按“Enter”鍵后就可以連接MySQL。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456
mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.mysql>step02連接遠程MySQL:如果遠程有一臺MySQL服務(wù)器,IP地址是10.120.71.89,用戶名是root,密碼是123456,可按如下步驟連接MySQL。#使用用戶名root和相應(yīng)密碼,連接遠程數(shù)據(jù)庫C:\Users\Administrator>mysql-h10.120.71.89-uroot-p123456
mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.mysql>3.1數(shù)據(jù)庫用戶管理3.1.2新增用戶在MySQL8.0中,需要先創(chuàng)建用戶并指定密碼,再進行授權(quán),新增用戶的命令格式如下。#創(chuàng)建用戶并指定密碼CREATEUSER用戶名@登錄主機IDENTIFIEDBY'密碼’;#授權(quán)GRANTALLPRIVILEGESON*.*TO用戶名@登錄主機WITHGRANTOPTION;新增用戶命令里有“%”,代表Internet上的任何一臺計算機都可以連接你的MySQL數(shù)據(jù)庫,并進行相應(yīng)的操作,這是很危險的一種授權(quán)方式。在實際項目中,用戶將會被允許本地訪問或者通過指定IP地址訪問。新增一個用戶,用戶名為shopdb,密碼為shopdb_123456。讓它可以在任何主機上登錄,并對所有數(shù)據(jù)庫有查詢、插入、修改、刪除的權(quán)限。#允許本地訪問GRANTSELECT,INSERT,UPDATE,DELETEON*.*toshopdb@localhostWITHGRANTOPTION;#允許通過指定IP地址訪問GRANTSELECT,INSERT,UPDATE,DELETEON*.*toshopdb@10.120.71.89WITHGRANTOPTION;3.1數(shù)據(jù)庫用戶管理3.1.3修改用戶密碼在MySQL8.0中,密碼存放在authentication_string中。在修改密碼的時候,用戶需要獲得reload權(quán)限,否則使用flushprivileges刷新MySQL的系統(tǒng)權(quán)限相關(guān)表會報錯??梢允褂靡韵旅钸M行授權(quán)。GRANTreloadON*.*to'shopdb'@'%';實戰(zhàn)演練——修改用戶密碼#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#授予reload權(quán)限mysql>GRANTreloadON*.*to'shopdb'@'%';
QueryOK,0rowsaffected(0.08sec)#修改密碼mysql>ALTERUSER'shopdb'@'%'IDENTIFIEDBY'123456';
QueryOK,0rowsaffected(0.02sec)#刷新權(quán)限mysql>flushprivileges;QueryOK,0rowsaffected(0.43sec)mysql>3.2數(shù)據(jù)庫操作3.2.1查看數(shù)據(jù)庫使用SHOWDATABASES語句可以查看有哪些數(shù)據(jù)庫。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#查看數(shù)據(jù)庫mysql>SHOWDATABASES;
+------------------------------+|Database |+------------------------------+|information_schema||mysql||performance_schema||sys||test|+------------------------------+3.2數(shù)據(jù)庫操作3.2.2創(chuàng)建數(shù)據(jù)庫使用CREATEDATABASE語句可以創(chuàng)建數(shù)據(jù)庫。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#創(chuàng)建數(shù)據(jù)庫shopmysql>CREATEDATABASEshop;QueryOK,1rowaffected(0.06sec)#查看數(shù)據(jù)庫mysql>SHOWDATABASES;+-----------------------------+|Database|+-----------------------------+|information_schema||mysql||performance_schema||shop||sys||test|+-----------------------------+6rowsinset(0.00sec)3.2數(shù)據(jù)庫操作3.2.3使用數(shù)據(jù)庫要操作某個數(shù)據(jù)庫或者數(shù)據(jù)庫里的表,需選擇要使用的數(shù)據(jù)庫,使用USE語句切換到所需的數(shù)據(jù)庫。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop數(shù)據(jù)庫mysql>USEshop;Databasechangedmysql>3.2數(shù)據(jù)庫操作3.2.4刪除數(shù)據(jù)庫使用命令DROPDATABASE語句可以刪除數(shù)據(jù)庫。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#查看數(shù)據(jù)庫mysql>SHOWDATABASES;+-----------------------------+|Database|+-----------------------------+|information_schema||mysql||performance_schema||shop||sys||test|+-----------------------------+6rowsinset(0.00sec)#刪除shop數(shù)據(jù)庫mysql>DROPDATABASEshop;QueryOK,0rowsaffected(0.46sec)#查看數(shù)據(jù)庫mysql>SHOWDATABASES;+-----------------------------+|Database|+-----------------------------+|information_schema||mysql||performance_schema||sys||test|+-----------------------------+5rowsinset(0.06sec)3.3表操作3.3.1創(chuàng)建表創(chuàng)建數(shù)據(jù)表首先要進入shop數(shù)據(jù)庫里,然后使用CREATETABLEuser()語句來創(chuàng)建,括號里面是數(shù)據(jù)表的字段,包括用戶編號(id)、姓名(name)、性別(sex)、年齡(age)、密碼(password)。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#創(chuàng)建數(shù)據(jù)庫shopmysql>CREATEDATABASEshop;QueryOK,1rowaffected(0.00sec)#使用數(shù)據(jù)庫shopmysql>USEshop;Databasechanged#創(chuàng)建用戶表usermysql>CREATETABLEuser(idint(10)unsignednotnullauto_increment,namevarchar(25),sexvarchar(5),ageint(10),passwordvarchar(25),primarykey(id))engine=Innodb;QueryOK,0rowsaffected(0.90sec)#查看表mysql>SHOWtables;+-----------------------+|Tables_in_shop|+-----------------------+|user|+-----------------------+1rowinset(0.04sec)mysql>3.3表操作3.3.2查看表結(jié)構(gòu)#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop數(shù)據(jù)庫mysql>USEshop;Databasechanged#查看用戶表user表結(jié)構(gòu)mysql>DESCuser;+----------+--------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------+--------------+------+-----+---------+----------------+|id|intunsigned|NO|PRI|NULL|auto_increment||name|varchar(25)|YES||NULL|||sex|varchar(5)|YES||NULL|||age|int|YES||NULL|||password|varchar(25)|YES||NULL||+----------+--------------+------+-----+---------+----------------+5rowsinset(0.02sec)mysql>3.3表操作3.3.3修改表結(jié)構(gòu)使用ALTERTABLE語句可以修改表的結(jié)構(gòu)??梢蕴砑?、修改或刪除列,添加約束條件等。ALTERTABLEtable_nameADDcolumn_namedata_type,#新增一列MODIFYcolumn_namedata_type,#修改列的數(shù)據(jù)類型DROPCOLUMNcolumn_name;#刪除一列實戰(zhàn)演練——修改表結(jié)構(gòu)#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop數(shù)據(jù)庫mysql>USEshop;Databasechanged3.3表操作#為用戶表user增加一列phonemysql>ALTERTABLEuserADDphonechar(11);QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0#查看用戶表user的表結(jié)構(gòu),多出來一列phonemysql>DESCuser;+----------+--------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------+--------------+------+-----+---------+----------------+|id|intunsigned|NO|PRI|NULL|auto_increment||name|varchar(25)|YES||NULL|||sex|varchar(5)|YES||NULL|||age|int|YES||NULL|||password|varchar(25)|YES||NULL|||phone|char(11)|YES||NULL||+----------+--------------+------+-----+---------+----------------+6rowsinset(0.01sec)3.3表操作#為用戶表user表刪除一列phonemysql>ALTERTABLEuserDROPphone;
QueryOK,0rowsaffected(0.06sec)Records:0Duplicates:0Warnings:0mysql>DESCuser;+----------+--------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------+--------------+------+-----+---------+----------------+|id|intunsigned|NO|PRI|NULL|auto_increment||name|varchar(25)|YES||NULL|||sex|varchar(5)|YES||NULL|||age|int|YES||NULL|||password|varchar(25)|YES||NULL||+----------+--------------+------+-----+---------+----------------+5rowsinset(0.00sec)3.3表操作3.3.4復(fù)制表1.第一種方式:復(fù)制表結(jié)構(gòu)、數(shù)據(jù)、主鍵、索引復(fù)制表結(jié)構(gòu)、主鍵、索引,可執(zhí)行以下命令。CREATETABLEnew_tablelikeold_table;插入數(shù)據(jù),可執(zhí)行以下命令。INSERTTABLEnew_tableSELECT*FROMold_table;基于user表的結(jié)構(gòu)和數(shù)據(jù)進行復(fù)制,user表有主鍵和索引,分別如圖3.1和圖3.2所示。實戰(zhàn)演練——復(fù)制表結(jié)構(gòu)、數(shù)據(jù)、主鍵、索引圖3.1user表主鍵圖3.2user表索引3.3表操作在shop數(shù)據(jù)庫的user表里添加一條記錄,具體操作如下。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用數(shù)據(jù)庫shopmysql>USEshop;Databasechanged#插入用戶表user數(shù)據(jù)mysql>INSERTINTOuserVALUES(2,'tom','男','30','123456');QueryOK,1rowaffected(0.07sec)#查詢用戶表user數(shù)據(jù)mysql>SELECT*FROMuser;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456|+----+-------+------+------+----------+2rowsinset(0.00sec)mysql>3.3表操作將user表的表結(jié)構(gòu)、索引、主鍵復(fù)制到新的user_new表里,具體操作如下。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用數(shù)據(jù)庫shopmysql>USEshop;Databasechanged#使用LIKE將user表的表結(jié)構(gòu)、索引、主鍵復(fù)制到新的user_new表mysql>CREATETABLEuser_newlikeuser;
QueryOK,0rowsaffected(0.48sec)#查詢user_new表數(shù)據(jù),mysql>SELECT*FROMuser_new;Emptyset(0.12sec)mysql>3.3表操作新的user_new表只復(fù)制了表結(jié)構(gòu)、主鍵和索引,并沒有數(shù)據(jù)。把舊的表user的數(shù)據(jù)復(fù)制到新的表user_new,具體操作如下。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用數(shù)據(jù)庫shopmysql>USEshop;Databasechanged#把舊的表user的數(shù)據(jù)復(fù)制到新的表user_newmysql>INSERTuser_newSELECT*FROMuser;QueryOK,2rowsaffected(0.13sec)#查詢user_new表數(shù)據(jù)mysql>SELECT*FROMuser_new;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456|+----+-------+------+------+----------+2rowsinset(0.00sec)mysql>3.3表操作2.第二種方式:復(fù)制表結(jié)構(gòu)、數(shù)據(jù),不能復(fù)制主鍵、索引復(fù)制表結(jié)構(gòu)、數(shù)據(jù),可執(zhí)行以下命令。CREATETABLEnew_tableSELECT*FROMold_table;復(fù)制表結(jié)構(gòu),不復(fù)制數(shù)據(jù),可執(zhí)行以下命令。CREATETABLEnew_tableSELECT*FROMold_tableWHERE0;實戰(zhàn)演練——復(fù)制表結(jié)構(gòu)、數(shù)據(jù)將user表的表結(jié)構(gòu)、索引、主鍵復(fù)制到新的user_new2表里,可以看到user_new2表里已經(jīng)復(fù)制進來數(shù)據(jù)了,具體操作如下。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用數(shù)據(jù)庫shopmysql>USEshop;Databasechanged3.3表操作#將user表的表結(jié)構(gòu)、索引、主鍵復(fù)制到新的user_new2表mysql>CREATETABLEuser_new2SELECT*FROMuser;QueryOK,2rowsaffected(0.68sec)Records:2Duplicates:0Warnings:0#查詢表user_new2mysql>SELECT*FROMuser_new2;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456|+----+-------+------+------+----------+2rowsinset(0.00sec)mysql>3.3表操作將user表的表結(jié)構(gòu)、索引、主鍵復(fù)制到新的user_new3表里,可以看到user_new3表里沒有數(shù)據(jù),具體操作如下。#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用數(shù)據(jù)庫shop.mysql>USEshop;Databasechanged#復(fù)制表結(jié)構(gòu),不復(fù)制數(shù)據(jù)mysql>CREATETABLEuser_new3SELECT*FROMuserWHERE0;QueryOK,0rowsaffected(0.67sec)Records:0Duplicates:0Warnings:0#查詢表user_new3數(shù)據(jù),數(shù)據(jù)為空mysql>SELECT*FROMuser_new3;Emptyset(0.00sec)mysql>3.3表操作3.3.5使用臨時表和內(nèi)存表臨時表建在內(nèi)存里,數(shù)據(jù)在內(nèi)存里,默認存儲引擎為MySQL服務(wù)器默認引擎,只能是MEMORY(HEAP)、MyISAM、MERGE、InnoDB。MySQL內(nèi)存表也可以給大數(shù)據(jù)量表做一個臨時表,以提高查詢速度。內(nèi)存表會把表結(jié)構(gòu)存放在磁盤上,把數(shù)據(jù)放在內(nèi)存中,默認存儲引擎為MEMORY。CREATEtemporaryTABLEtmp1(idintnotnull);創(chuàng)建臨時表的語法格式如下。CREATETABLEtmp2(idintnotnull)ENGINE=MEMORY;創(chuàng)建內(nèi)存表的語法格式如下。3.3表操作實戰(zhàn)演練——臨時表和內(nèi)存表的使用#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用數(shù)據(jù)庫shopmysql>USEshop;Databasechanged#創(chuàng)建臨時表mysql>CREATEtemporaryTABLEtmp1(idintnotnull);QueryOK,0rowsaffected(0.26sec)#查看創(chuàng)建的表mysql>SHOWCREATETABLEtmp1;+-------+------------------------------------------------------------------+|Table|CreateTable|+-------+------------------------------------------------------------------+|tmp1|CREATETEMPORARYTABLE`tmp1`(`id`intNOTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci|+-------+------------------------------------------------------------------+1rowinset(0.00sec)3.3表操作#查看創(chuàng)建的表mysql>SHOWCREATETABLEtmp1;+-------+------------------------------------------------------------------+|Table|CreateTable|+-------+------------------------------------------------------------------+|tmp1|CREATETEMPORARYTABLE`tmp1`(`id`intNOTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci|+-------+------------------------------------------------------------------+1rowinset(0.00sec)#創(chuàng)建內(nèi)存表mysql>CREATETABLEtmp2(idintnotnull)ENGINE=MEMORY;QueryOK,0rowsaffected(0.19sec)#查看創(chuàng)建的表mysql>SHOWCREATETABLEtmp2+-------+------------------------------------------------------------------+|Table|CreateTable|+-------+------------------------------------------------------------------+|tmp2|CREATETABLE`tmp2`(`id`intNOTNULL)ENGINE=MEMORYDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci|+-------+------------------------------------------------------------------+1rowinset(0.00sec)mysql>3.3表操作臨時表和內(nèi)存表的區(qū)別臨時表內(nèi)存表表結(jié)構(gòu)和數(shù)據(jù)都存儲在內(nèi)存里表結(jié)構(gòu)存儲在磁盤里,數(shù)據(jù)和索引存儲在內(nèi)存里默認存儲引擎為MySQL服務(wù)器默認引擎默認存儲引擎為MEMORY引擎可以通過參數(shù)tmp_table_size來設(shè)定表的大小可以通過參數(shù)max_heap_table_size來設(shè)定表的大小大小到達tmp_table_size設(shè)定的內(nèi)存上限后將在磁盤上創(chuàng)建臨時文件大小到達max_heap_table_size設(shè)定的內(nèi)存上限后將報錯可以包含text、blob等字段不能包含text、blob等字段一般比較少用,通常是在應(yīng)用程序中動態(tài)創(chuàng)建或者由MySQL內(nèi)部根據(jù)SQL執(zhí)行計劃自己創(chuàng)建大多作為高速緩存(Cache)來使用,特別在沒有第三方Cache時。隨著memcache、NoSQL的流行,內(nèi)存表的使用越來越少只在當(dāng)前連接可見,當(dāng)關(guān)閉連接時,MySQL會自動刪除表并釋放所有空間在MySQL重啟后,主鍵、自增字段、索引仍然存在,只是數(shù)據(jù)丟失3.4數(shù)據(jù)操作3.4.1插入和查詢使用INSERTINTO語句可以向表中插入新的數(shù)據(jù)行,既可以指定要插入的列和對應(yīng)的值,也可以一次性插入多行數(shù)據(jù)。INSERTINTO表名(字段名,字段名)VALUES(值,值);將一條數(shù)據(jù)插入數(shù)據(jù)庫,其語法格式如下INSERTINTO表名VALUES(值,值);或者可以不指明表里的字段,但是將值按字段的順序插入,其語法格式如下。INSERTINTO表名(字段名,字段名,...)VALUES(value1,value2,...),(value1,value2,...),(value1,value2,...);批量插入多行數(shù)據(jù),其語法格式如下。3.4數(shù)據(jù)操作在VALUES子句中,通過逗號分隔多個值的列表,每個列表代表一行要插入的數(shù)據(jù)??梢灾付ǘ鄠€列表,每個列表對應(yīng)一行數(shù)據(jù)。SELECT*FROM表名;查詢數(shù)據(jù),其語法格式如下。SELECT字段名FROM表名;或者查詢指定字段,其語法格式如下。SELECT*FROM表名WHEREid=10;SELECT*FROM表名WHEREid=10andname='小明';使用WHERE子句可以按條件查詢,把某一列或者某幾列作為查詢條件,其語法格式如下。3.4數(shù)據(jù)操作#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop數(shù)據(jù)庫mysql>USEshop;Databasechanged#查詢user表結(jié)構(gòu)mysql>DESCuser;+----------+--------------+-----+-----+--------+----------------+|Field|Type|Null|Key|Default|Extra|+----------+--------------+-----+-----+--------+----------------+|id|int(10)unsigned|NO|PRI|NULL|auto_increment||name|varchar(25)|YES||NULL|||sex|varchar(5)|YES||NULL|||age|int(10)|YES||NULL|||password|varchar(25)|YES||NULL||+----------+--------------+-----+-----+--------+----------------+5rowsinset(0.03sec)實戰(zhàn)演練——數(shù)據(jù)插入和查詢3.4數(shù)據(jù)操作#插入數(shù)據(jù),指定列名mysql>INSERTINTOuser(id,name,sex,age,password)VALUES(3,'david','男','28','111111');QueryOK,1rowaffected(1.59sec)#插入數(shù)據(jù),不指定列名mysql>INSERTINTOuserVALUES(4,'lili','女','25','222222');
QueryOK,1rowaffected(0.00sec)
#查詢所有字段mysql>SELECT*FROMuser;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|男|28|111111||4|lili|女|25|222222|+----+-------+------+------+----------+4rowsinset(0.00sec)3.4數(shù)據(jù)操作#查詢指定字段mysql>SELECTnameFROMuser;+-------+|name|+-------+|kevin||tom||david||lili|+-------+4rowsinset(0.00sec)#查詢性別為男的數(shù)據(jù)mysql>SELECT*FROMuserWHEREsex='男';+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|男|28|111111|+----+-------+------+------+----------+3rowsinset(0.00sec)#查詢性別為男并且名字是david的數(shù)據(jù)mysql>SELECT*FROMuserWHEREsex='男'andname='david';+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|3|david|男|28|111111|+----+-------+------+------+----------+1rowinset(0.00sec)#批量插入多行數(shù)據(jù)mysql>INSERTINTOuser(id,name,sex,age,password)VALUES(5,'zhansan','男','29','111111'),(6,'lisi','男','30','111111'),(7,'wangwu','男','31','111111');
QueryOK,3rowsaffected(0.01sec)Records:3Duplicates:0Warnings:03.4數(shù)據(jù)操作#查詢用戶表usermysql>select*fromuser;+----+---------+------+------+----------+|id|name|sex|age|password|+----+---------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|男|28|111111||4|lili|女|25|222222||5|zhansan|男|29|111111||6|lisi|男|30|111111||7|wangwu|男|31|111111|+----+---------+------+------+----------+7rowsinset(0.00sec)mysql>在MySQL里修改數(shù)據(jù)可以使用關(guān)鍵字UPDATE,使用UPDATE語句可以更新表中的數(shù)據(jù)。可以指定要更新的列和對應(yīng)的新值,以及更新的條件,其語法格式及使用示例如下。UPDATE表名SET字段=值,字段=值WHERE條件UPDATEuserSETname='小明',sex='男'WHEREid=4;3.4.2修改記錄3.4數(shù)據(jù)操作#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop數(shù)據(jù)庫mysql>USEshop;Databasechanged#查詢user表數(shù)據(jù)mysql>SELECT*FROMuser;+----+---------+------+------+----------+|id|name|sex|age|password|+----+---------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|男|28|111111||4|lili|女|25|222222||5|zhansan|男|29|111111||6|lisi|男|30|111111||7|wangwu|男|31|111111|+----+---------+------+------+----------+7rowsinset(0.00sec)實戰(zhàn)演練——修改記錄3.4數(shù)據(jù)操作#修改一個字段的值,將david的性別設(shè)置為女mysql>UPDATEuserSETsex='女'WHEREname='david';
QueryOK,1rowaffected(0.00sec)Rowsmatched:1Changed:1Warnings:0#查詢user表數(shù)據(jù)mysql>SELECT*FROMuser;+----+---------+------+------+----------+|id|name|sex|age|password|+----+---------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|女|28|111111||4|lili|女|25|222222||5|zhansan|男|29|111111||6|lisi|男|30|111111||7|wangwu|男|31|111111|+----+---------+------+------+----------+3.4數(shù)據(jù)操作3.4.3刪除記錄在MySQL中刪除數(shù)據(jù)可以使用DELETE關(guān)鍵字,使用DELETEFROM語句可以從表中刪除數(shù)據(jù)??梢灾付▌h除的條件,以刪除滿足條件的數(shù)據(jù)行,其語法格式及使用示例如下。DELETEFROM表名WHERE條件DELETEFROMuserWHEREid=4#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop數(shù)據(jù)庫mysql>USEshop;Databasechanged#查詢user表數(shù)據(jù)mysql>SELECT*FROMuser;實戰(zhàn)演練——刪除記錄3.4數(shù)據(jù)操作+----+---------+------+------+----------+|id|name|sex|age|password|+----+---------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|女|28|111111||4|lili|女|25|222222||5|zhansan|男|29|111111||6|lisi|男|30|111111||7|wangwu|男|31|111111|+----+---------+------+------+----------+7rowsinset(0.00sec)#刪除id為4的數(shù)據(jù)mysql>DELETEFROMuserWHEREid=4;QueryOK,1rowaffected(0.00sec)#查詢user表數(shù)據(jù)mysql>SELECT*FROMuser;+----+---------+------+------+----------+|id|name|sex|age|password|+----+---------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|女|28|111111||5|zhansan|男|29|111111||6|lisi|男|30|111111||7|wangwu|男|31|111111|+----+---------+------+------+----------+6rowsinset(0.00sec)#刪除性別為男的數(shù)據(jù)mysql>DELETEFROMuserWHEREsex='男';QueryOK,5rowsaffected(0.01sec)#查詢user表數(shù)據(jù)mysql>SELECT*FROMuser;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|3|david|女|28|111111|+----+-------+------+------+----------+1rowinset(0.00sec)mysql>3.4數(shù)據(jù)操作3.4.4對查詢結(jié)果排序ORDEYBYcolumnASC:按某一字段進行升序排列,ASC可以省略不寫。SELECT*FROMuserORDEYBYidASC;或者SELECT*FROMuserORDEYBYid;ORDEYBYcolumnDESC:按某一字段進行降序排列,DESC不可以省略不寫。SELECT*FROMuserORDEYBYidDESC;ORDEYBYcolumn1,column2DESC:按多個字段進行降序排列。SELECT*FROMuserORDEYBYsex,ageDESC;3.4數(shù)據(jù)操作#使用用戶名root和相應(yīng)密碼,連接本地數(shù)據(jù)庫C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用數(shù)據(jù)庫shopmysql>USEshop;Databasechanged#向用戶表user批量插入數(shù)據(jù)mysql>INSERTINTOuser(id,name,sex,age,password)VALUES(4,'小紅','女','27','123456'),(5,'小明','男','10','123456'),(6,'小剛','男','12','123456'),(7,'小王','男','14','111111'),(8,'小綠','女','34','222222'),(9,'曉峰','男','15','333333'),(10,'小影','女','26','444444'),(11,'大梅','女','27','555555');QueryOK,8rowsaffected(0.01sec)Records:8Duplicates:0Warnings:0實戰(zhàn)演練——查詢結(jié)果排序3.4數(shù)據(jù)操作#查詢user表所有數(shù)據(jù)mysql>SELECT*FROMuser;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|3|david|女|28|111111||4|小紅|女|27|123456||5|小明|男|10|123456||6|小剛|男|12|123456||7|小王|男|14|111111||8|小綠|女|34|222222||9|曉峰|男|15|333333||10|小影|女|26|444444||11|大梅|女|27|555555|+----+-------+------+------+----------+9rowsinset(0.00sec)#按id升序查詢mysql>SELECT*FROMuserORDEYBYidASC;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|3|david|女|28|111111||4|小紅|女|27|123456||5|小明|男|10|123456||6|小剛|男|12|123456||7|小王|男|14|111111||8|小綠|女|34|222222||9|曉峰|男|15|333333||10|小影|女|26|444444||11|大梅|女|27|555555|+----+-------+------+------+----------+9rowsinset(0.00sec)3.4數(shù)據(jù)操作#按id降序查詢mysql>SELECT*FROMuserORDERBYidDESC;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|11|大梅|女|27|555555||10|小影|女|26|444444||9|曉峰|男|15|333333||8|小綠|女|34|222222||7|小王|男|14|111111||6|小剛|男|12|123456||5|小明|男|10|123456||4|小紅|女|27|123456||3|david|女|28|111111|+----+-------+------+------+----------+9rowsinset(0.00sec)#先按性別降序查詢,再按年齡升序查詢mysql>SELECT*FROMuserORDERBYsexDESC,ageASC;
+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|5|小明|男|10|123456||6|小剛|男|12|123456||7|小王|男|14|111111||9|曉峰|男|15|333333||10|小影|女|26|444444||4|小紅|女|27|123456||11|大梅|女|27|555555||3|david|女|28|111111||8|小綠|女|34|222222|+----+-------+------+------+----------+9rowsinset(0.01sec)3.4數(shù)據(jù)操作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自然資源的開發(fā)利用 同步訓(xùn)練-人教版高中化學(xué)必修第二冊
- 專題02 實驗基本操作 常見氣體的制備(解析版)-2024年九年級化學(xué)寒假提升學(xué)與練(滬教版)
- 重慶市某中學(xué)2024-2025學(xué)年八年級下學(xué)期期中考試數(shù)學(xué)試卷(含解析)
- 重難點突破02 原函數(shù)與導(dǎo)函數(shù)混合還原問題 (十三大題型)原卷版-2025年高考數(shù)學(xué)一輪復(fù)習(xí)
- 2025年光伏電站建設(shè)項目合同范本
- 2025年保安員考試題庫及完整答案(有一套)
- 供應(yīng)鏈財務(wù)風(fēng)險與信用評估模型考核試卷
- 環(huán)境教育在小學(xué)體育教學(xué)中的應(yīng)用考核試卷
- 國際市場占有率分析考核試卷
- 選詞填空-魯教版(五四學(xué)制)六年級英語下冊期末復(fù)習(xí)(含答案解析)
- GB/T 1335.2-2008服裝號型女子
- 2014雪鐵龍c4l全車電路圖-舒適和便利02音響與導(dǎo)航
- GB 1344-1999礦渣硅酸鹽水泥、火山灰質(zhì)硅酸鹽水泥及粉煤灰硅酸鹽水泥
- (完整版)歐姆龍E3X-HD光纖放大器調(diào)試SOP
- 租船相關(guān)格式匯編logo版
- 建筑工人出勤表
- DB32-T 2972-2016水稻機插工廠化多層育秧技術(shù)規(guī)程-(高清現(xiàn)行)
- DB32-T 4065-2021建筑幕墻工程技術(shù)標(biāo)準(zhǔn)-(高清現(xiàn)行)
- 中藥材、中藥飲片養(yǎng)護記錄表
- 通信施工事故案例
- 《食品的化學(xué)性污染》PPT課件.ppt
評論
0/150
提交評論