MySQL数据库应用实战教程(慕课版)(第2版)-教学课件第3单元 MySQL常用操作_第1页
MySQL数据库应用实战教程(慕课版)(第2版)-教学课件第3单元 MySQL常用操作_第2页
MySQL数据库应用实战教程(慕课版)(第2版)-教学课件第3单元 MySQL常用操作_第3页
MySQL数据库应用实战教程(慕课版)(第2版)-教学课件第3单元 MySQL常用操作_第4页
MySQL数据库应用实战教程(慕课版)(第2版)-教学课件第3单元 MySQL常用操作_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3单元MySQL常用操作MySQL数据库应用实战教程(慕课版)(第2版)目录【目录】3.1数据库用户管理3.1.1连接MySQL3.1.2新增用户3.1.3修改用户密码3.2数据库操作3.2.1查看数据库3.2.2创建数据库3.2.3使用数据库3.2.4删除数据库3.3表操作3.3.1创建表3.3.2查看表结构3.3.3修改表结构3.3.4复制表3.3.5使用临时表和内存表3.4数据操作3.4.1插入和查询3.4.2修改记录3.4.3删除记录3.4.4对查询结果排序3.4.5对查询结果分组3.4.6设置分组条件3.4.7限制查询数量目录【目录】3.5字段操作3.5.1设置为主键3.5.2设置为复合主键3.5.3添加/删除字段3.5.4改变字段类型3.5.5字段重命名3.5.6字段设置默认值3.5.7设置自增字段3.6客户端操作数据库3.7综合实训:设计电商平台订单表【学习导读】假如需要设计图书商城的数据库,使用MySQL数据库来存储图书的信息。设计一张名为“books”的数据表,包含图书的ISBN、标题、作者、价格和库存等字段。在这个情景中,需要使用MySQL进行常用的增、删、改、查操作,以便管理图书的信息。使用INSERT语句,可以向books表中插入新的图书记录,包括图书的ISBN、标题、作者、价格和库存等信息。当新书上架或者库存发生变化时,可以使用UPDATE语句来更新图书的信息。如果一种图书停止销售或者下架,可以使用DELETE语句将其从数据库中删除,确保图书信息的准确性和实时性。可以使用SELECT语句根据不同的条件查询图书信息。学习导读【学习目标】知识目标1.掌握MySQL用户管理操作。2.掌握MySQL数据库操作。3.掌握MySQL表操作。4.掌握MySQL数据操作。5.掌握MySQL字段操作。6.了解MySQL客户端操作数据库。能力目标1.能够进行MySQL创建数据库、表操作。2.能够进行MySQL数据操作、字段操作。素质目标1.培养知识学习能力,拥有广阔的知识面,不断学习。2.培养组织能力,能够有效地组织和管理事务。学习目标思维导图3.1数据库用户管理3.1.1连接MySQL连接MySQL的命令格式:mysql-h主机地址-u用户名-p用户密码step01连接本地MySQL:打开命令提示符窗口,进入mysql/bin目录下面,输入命令“mysql-uroot-p123456”,按“Enter”键后就可以连接MySQL。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456

mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.mysql>step02连接远程MySQL:如果远程有一台MySQL服务器,IP地址是10.120.71.89,用户名是root,密码是123456,可按如下步骤连接MySQL。#使用用户名root和相应密码,连接远程数据库C:\Users\Administrator>mysql-h10.120.71.89-uroot-p123456

mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.mysql>3.1数据库用户管理3.1.2新增用户在MySQL8.0中,需要先创建用户并指定密码,再进行授权,新增用户的命令格式如下。#创建用户并指定密码CREATEUSER用户名@登录主机IDENTIFIEDBY'密码’;#授权GRANTALLPRIVILEGESON*.*TO用户名@登录主机WITHGRANTOPTION;新增用户命令里有“%”,代表Internet上的任何一台计算机都可以连接你的MySQL数据库,并进行相应的操作,这是很危险的一种授权方式。在实际项目中,用户将会被允许本地访问或者通过指定IP地址访问。新增一个用户,用户名为shopdb,密码为shopdb_123456。让它可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。#允许本地访问GRANTSELECT,INSERT,UPDATE,DELETEON*.*toshopdb@localhostWITHGRANTOPTION;#允许通过指定IP地址访问GRANTSELECT,INSERT,UPDATE,DELETEON*.*toshopdb@10.120.71.89WITHGRANTOPTION;3.1数据库用户管理3.1.3修改用户密码在MySQL8.0中,密码存放在authentication_string中。在修改密码的时候,用户需要获得reload权限,否则使用flushprivileges刷新MySQL的系统权限相关表会报错。可以使用以下命令进行授权。GRANTreloadON*.*to'shopdb'@'%';实战演练——修改用户密码#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#授予reload权限mysql>GRANTreloadON*.*to'shopdb'@'%';

QueryOK,0rowsaffected(0.08sec)#修改密码mysql>ALTERUSER'shopdb'@'%'IDENTIFIEDBY'123456';

QueryOK,0rowsaffected(0.02sec)#刷新权限mysql>flushprivileges;QueryOK,0rowsaffected(0.43sec)mysql>3.2数据库操作3.2.1查看数据库使用SHOWDATABASES语句可以查看有哪些数据库。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#查看数据库mysql>SHOWDATABASES;

+------------------------------+|Database |+------------------------------+|information_schema||mysql||performance_schema||sys||test|+------------------------------+3.2数据库操作3.2.2创建数据库使用CREATEDATABASE语句可以创建数据库。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#创建数据库shopmysql>CREATEDATABASEshop;QueryOK,1rowaffected(0.06sec)#查看数据库mysql>SHOWDATABASES;+-----------------------------+|Database|+-----------------------------+|information_schema||mysql||performance_schema||shop||sys||test|+-----------------------------+6rowsinset(0.00sec)3.2数据库操作3.2.3使用数据库要操作某个数据库或者数据库里的表,需选择要使用的数据库,使用USE语句切换到所需的数据库。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop数据库mysql>USEshop;Databasechangedmysql>3.2数据库操作3.2.4删除数据库使用命令DROPDATABASE语句可以删除数据库。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#查看数据库mysql>SHOWDATABASES;+-----------------------------+|Database|+-----------------------------+|information_schema||mysql||performance_schema||shop||sys||test|+-----------------------------+6rowsinset(0.00sec)#删除shop数据库mysql>DROPDATABASEshop;QueryOK,0rowsaffected(0.46sec)#查看数据库mysql>SHOWDATABASES;+-----------------------------+|Database|+-----------------------------+|information_schema||mysql||performance_schema||sys||test|+-----------------------------+5rowsinset(0.06sec)3.3表操作3.3.1创建表创建数据表首先要进入shop数据库里,然后使用CREATETABLEuser()语句来创建,括号里面是数据表的字段,包括用户编号(id)、姓名(name)、性别(sex)、年龄(age)、密码(password)。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#创建数据库shopmysql>CREATEDATABASEshop;QueryOK,1rowaffected(0.00sec)#使用数据库shopmysql>USEshop;Databasechanged#创建用户表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查看表结构#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop数据库mysql>USEshop;Databasechanged#查看用户表user表结构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修改表结构使用ALTERTABLE语句可以修改表的结构。可以添加、修改或删除列,添加约束条件等。ALTERTABLEtable_nameADDcolumn_namedata_type,#新增一列MODIFYcolumn_namedata_type,#修改列的数据类型DROPCOLUMNcolumn_name;#删除一列实战演练——修改表结构#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop数据库mysql>USEshop;Databasechanged3.3表操作#为用户表user增加一列phonemysql>ALTERTABLEuserADDphonechar(11);QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0#查看用户表user的表结构,多出来一列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复制表1.第一种方式:复制表结构、数据、主键、索引复制表结构、主键、索引,可执行以下命令。CREATETABLEnew_tablelikeold_table;插入数据,可执行以下命令。INSERTTABLEnew_tableSELECT*FROMold_table;基于user表的结构和数据进行复制,user表有主键和索引,分别如图3.1和图3.2所示。实战演练——复制表结构、数据、主键、索引图3.1user表主键图3.2user表索引3.3表操作在shop数据库的user表里添加一条记录,具体操作如下。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用数据库shopmysql>USEshop;Databasechanged#插入用户表user数据mysql>INSERTINTOuserVALUES(2,'tom','男','30','123456');QueryOK,1rowaffected(0.07sec)#查询用户表user数据mysql>SELECT*FROMuser;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456|+----+-------+------+------+----------+2rowsinset(0.00sec)mysql>3.3表操作将user表的表结构、索引、主键复制到新的user_new表里,具体操作如下。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用数据库shopmysql>USEshop;Databasechanged#使用LIKE将user表的表结构、索引、主键复制到新的user_new表mysql>CREATETABLEuser_newlikeuser;

QueryOK,0rowsaffected(0.48sec)#查询user_new表数据,mysql>SELECT*FROMuser_new;Emptyset(0.12sec)mysql>3.3表操作新的user_new表只复制了表结构、主键和索引,并没有数据。把旧的表user的数据复制到新的表user_new,具体操作如下。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用数据库shopmysql>USEshop;Databasechanged#把旧的表user的数据复制到新的表user_newmysql>INSERTuser_newSELECT*FROMuser;QueryOK,2rowsaffected(0.13sec)#查询user_new表数据mysql>SELECT*FROMuser_new;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456|+----+-------+------+------+----------+2rowsinset(0.00sec)mysql>3.3表操作2.第二种方式:复制表结构、数据,不能复制主键、索引复制表结构、数据,可执行以下命令。CREATETABLEnew_tableSELECT*FROMold_table;复制表结构,不复制数据,可执行以下命令。CREATETABLEnew_tableSELECT*FROMold_tableWHERE0;实战演练——复制表结构、数据将user表的表结构、索引、主键复制到新的user_new2表里,可以看到user_new2表里已经复制进来数据了,具体操作如下。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用数据库shopmysql>USEshop;Databasechanged3.3表操作#将user表的表结构、索引、主键复制到新的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表的表结构、索引、主键复制到新的user_new3表里,可以看到user_new3表里没有数据,具体操作如下。#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用数据库shop.mysql>USEshop;Databasechanged#复制表结构,不复制数据mysql>CREATETABLEuser_new3SELECT*FROMuserWHERE0;QueryOK,0rowsaffected(0.67sec)Records:0Duplicates:0Warnings:0#查询表user_new3数据,数据为空mysql>SELECT*FROMuser_new3;Emptyset(0.00sec)mysql>3.3表操作3.3.5使用临时表和内存表临时表建在内存里,数据在内存里,默认存储引擎为MySQL服务器默认引擎,只能是MEMORY(HEAP)、MyISAM、MERGE、InnoDB。MySQL内存表也可以给大数据量表做一个临时表,以提高查询速度。内存表会把表结构存放在磁盘上,把数据放在内存中,默认存储引擎为MEMORY。CREATEtemporaryTABLEtmp1(idintnotnull);创建临时表的语法格式如下。CREATETABLEtmp2(idintnotnull)ENGINE=MEMORY;创建内存表的语法格式如下。3.3表操作实战演练——临时表和内存表的使用#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用数据库shopmysql>USEshop;Databasechanged#创建临时表mysql>CREATEtemporaryTABLEtmp1(idintnotnull);QueryOK,0rowsaffected(0.26sec)#查看创建的表mysql>SHOWCREATETABLEtmp1;+-------+------------------------------------------------------------------+|Table|CreateTable|+-------+------------------------------------------------------------------+|tmp1|CREATETEMPORARYTABLE`tmp1`(`id`intNOTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci|+-------+------------------------------------------------------------------+1rowinset(0.00sec)3.3表操作#查看创建的表mysql>SHOWCREATETABLEtmp1;+-------+------------------------------------------------------------------+|Table|CreateTable|+-------+------------------------------------------------------------------+|tmp1|CREATETEMPORARYTABLE`tmp1`(`id`intNOTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci|+-------+------------------------------------------------------------------+1rowinset(0.00sec)#创建内存表mysql>CREATETABLEtmp2(idintnotnull)ENGINE=MEMORY;QueryOK,0rowsaffected(0.19sec)#查看创建的表mysql>SHOWCREATETABLEtmp2+-------+------------------------------------------------------------------+|Table|CreateTable|+-------+------------------------------------------------------------------+|tmp2|CREATETABLE`tmp2`(`id`intNOTNULL)ENGINE=MEMORYDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci|+-------+------------------------------------------------------------------+1rowinset(0.00sec)mysql>3.3表操作临时表和内存表的区别临时表内存表表结构和数据都存储在内存里表结构存储在磁盘里,数据和索引存储在内存里默认存储引擎为MySQL服务器默认引擎默认存储引擎为MEMORY引擎可以通过参数tmp_table_size来设定表的大小可以通过参数max_heap_table_size来设定表的大小大小到达tmp_table_size设定的内存上限后将在磁盘上创建临时文件大小到达max_heap_table_size设定的内存上限后将报错可以包含text、blob等字段不能包含text、blob等字段一般比较少用,通常是在应用程序中动态创建或者由MySQL内部根据SQL执行计划自己创建大多作为高速缓存(Cache)来使用,特别在没有第三方Cache时。随着memcache、NoSQL的流行,内存表的使用越来越少只在当前连接可见,当关闭连接时,MySQL会自动删除表并释放所有空间在MySQL重启后,主键、自增字段、索引仍然存在,只是数据丢失3.4数据操作3.4.1插入和查询使用INSERTINTO语句可以向表中插入新的数据行,既可以指定要插入的列和对应的值,也可以一次性插入多行数据。INSERTINTO表名(字段名,字段名)VALUES(值,值);将一条数据插入数据库,其语法格式如下INSERTINTO表名VALUES(值,值);或者可以不指明表里的字段,但是将值按字段的顺序插入,其语法格式如下。INSERTINTO表名(字段名,字段名,...)VALUES(value1,value2,...),(value1,value2,...),(value1,value2,...);批量插入多行数据,其语法格式如下。3.4数据操作在VALUES子句中,通过逗号分隔多个值的列表,每个列表代表一行要插入的数据。可以指定多个列表,每个列表对应一行数据。SELECT*FROM表名;查询数据,其语法格式如下。SELECT字段名FROM表名;或者查询指定字段,其语法格式如下。SELECT*FROM表名WHEREid=10;SELECT*FROM表名WHEREid=10andname='小明';使用WHERE子句可以按条件查询,把某一列或者某几列作为查询条件,其语法格式如下。3.4数据操作#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop数据库mysql>USEshop;Databasechanged#查询user表结构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)实战演练——数据插入和查询3.4数据操作#插入数据,指定列名mysql>INSERTINTOuser(id,name,sex,age,password)VALUES(3,'david','男','28','111111');QueryOK,1rowaffected(1.59sec)#插入数据,不指定列名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数据操作#查询指定字段mysql>SELECTnameFROMuser;+-------+|name|+-------+|kevin||tom||david||lili|+-------+4rowsinset(0.00sec)#查询性别为男的数据mysql>SELECT*FROMuserWHEREsex='男';+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|1|kevin|男|20|123456||2|tom|男|30|123456||3|david|男|28|111111|+----+-------+------+------+----------+3rowsinset(0.00sec)#查询性别为男并且名字是david的数据mysql>SELECT*FROMuserWHEREsex='男'andname='david';+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|3|david|男|28|111111|+----+-------+------+------+----------+1rowinset(0.00sec)#批量插入多行数据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数据操作#查询用户表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里修改数据可以使用关键字UPDATE,使用UPDATE语句可以更新表中的数据。可以指定要更新的列和对应的新值,以及更新的条件,其语法格式及使用示例如下。UPDATE表名SET字段=值,字段=值WHERE条件UPDATEuserSETname='小明',sex='男'WHEREid=4;3.4.2修改记录3.4数据操作#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop数据库mysql>USEshop;Databasechanged#查询user表数据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)实战演练——修改记录3.4数据操作#修改一个字段的值,将david的性别设置为女mysql>UPDATEuserSETsex='女'WHEREname='david';

QueryOK,1rowaffected(0.00sec)Rowsmatched:1Changed:1Warnings:0#查询user表数据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数据操作3.4.3删除记录在MySQL中删除数据可以使用DELETE关键字,使用DELETEFROM语句可以从表中删除数据。可以指定删除的条件,以删除满足条件的数据行,其语法格式及使用示例如下。DELETEFROM表名WHERE条件DELETEFROMuserWHEREid=4#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用shop数据库mysql>USEshop;Databasechanged#查询user表数据mysql>SELECT*FROMuser;实战演练——删除记录3.4数据操作+----+---------+------+------+----------+|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的数据mysql>DELETEFROMuserWHEREid=4;QueryOK,1rowaffected(0.00sec)#查询user表数据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)#删除性别为男的数据mysql>DELETEFROMuserWHEREsex='男';QueryOK,5rowsaffected(0.01sec)#查询user表数据mysql>SELECT*FROMuser;+----+-------+------+------+----------+|id|name|sex|age|password|+----+-------+------+------+----------+|3|david|女|28|111111|+----+-------+------+------+----------+1rowinset(0.00sec)mysql>3.4数据操作3.4.4对查询结果排序ORDEYBYcolumnASC:按某一字段进行升序排列,ASC可以省略不写。SELECT*FROMuserORDEYBYidASC;或者SELECT*FROMuserORDEYBYid;ORDEYBYcolumnDESC:按某一字段进行降序排列,DESC不可以省略不写。SELECT*FROMuserORDEYBYidDESC;ORDEYBYcolumn1,column2DESC:按多个字段进行降序排列。SELECT*FROMuserORDEYBYsex,ageDESC;3.4数据操作#使用用户名root和相应密码,连接本地数据库C:\Users\Administrator>mysql-uroot-p123456mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.#使用数据库shopmysql>USEshop;Databasechanged#向用户表user批量插入数据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实战演练——查询结果排序3.4数据操作#查询user表所有数据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数据操作#按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数据操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论