【文档说明】MySQL数据库应用实战教程-第3章--MySQL常用操作课件.pptx,共(26)页,198.004 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-6039.html
以下为本文档部分文字说明:
MySQL程序设计第3章MySQL常用操作3.1数据库用户管理3.2数据库操作3.3表操作3.4数据操作MySQL程序设计第3章MySQL常用操作3.5字段操作3.6客户端操作数据库MySQL程序设计➢连接MySQLmysql-h主机地址-u用户名-p用户密码➢
新增用户GRANTSELECTon数据库.*to用户名@登录主机identifiedby“密码”➢修改用户密码UPDATEmysql.userSETauthentication_string=PASSWORD('123456'),
password_expired='N'WHEREUser='shopdb'ANDHost='localhost';3.1数据库用户管理第3章MySQL常用操作MySQL程序设计➢查看数据库SHOWdatabases;➢创建数
据库CREATEDATABASEdatabaseName;➢使用数据库USEdatabaseName;➢删除数据库DROPDATABASEdatabaseName;3.2数据库操作第3章MySQL常用操
作MySQL程序设计➢创建表CREATETABLEuser(idint(10)unsignednotnullauto_increment,namevarchar(25),sexvarchar(5),ageint(10),passwordvarchar(25),primar
ykey(id))engine=Innodb;➢查看表结构DESCtableName3.3表操作第3章MySQL常用操作MySQL程序设计➢复制表第一种方式:复制表结构、数据、主键、索引复制表结构、主键、索引,执行命令:CREATETABLEnew_tablelikeold_
table;插入数据,执行命令:INSERTTABLEnew_tableSELECT*FROMold_table;3.3表操作第3章MySQL常用操作MySQL程序设计➢复制表第二种方式:复制表结构、数据,不能复制主键、索引复制表结构、数据,执行命令:C
REATETABLEnew_tableSELECT*FROMold_table;复制表结构,不复制数据,执行命令:CREATETABLEnew_tableSELECT*FROMold_tableWHERE0;3.3表
操作第3章MySQL常用操作MySQL程序设计➢临时表和内存表创建临时表,命令执行:CREATEtemporaryTABLEtmp1(idintnotnull);创建内存表,命令执行:CREATETABLEtmp2(i
dintnotnull)ENGINE=MEMORY;3.3表操作第3章MySQL常用操作MySQL程序设计➢插入和查询将一条数据插入到数据库里,可以使用命令:INSERTINTO表名(字段名,字段名)VALUES(值,值);或者可以不指明表里的字段,但是值按字段
的顺序插入,可以使用命令:INSERTINTO表名VALUES(值,值);查询数据,可以使用命令:SELECT*FROM表名;或者查询指定字段,可以使用命令:SELECTidFROM表名;使用WHERE条件语句来进行按条件查询,把某一列或者几列作为查询条件,可以使用命令:SELECT*FROM表
名WHEREid=10;SELECT*FROM表名WHEREid=10andname=’小明’;3.4数据操作第3章MySQL常用操作MySQL程序设计➢修改记录在MySQL里修改使用关键字UPDATE,执行命令。UPDATE表名
SET字段=值,字段=值WHERE条件UPDATEuserSETname=’小明’,sex=’男’WHEREid=4;3.4数据操作第3章MySQL常用操作MySQL程序设计➢删除记录在MySQL中删除数据可以使用DELETE关键字,执行命令:DELETEFRO
M表名WHERE条件DELETEFROMuserWHEREid=4;3.4数据操作第3章MySQL常用操作MySQL程序设计➢对查询结果排序在MySQL数据库中,使用ORDEYBY进行排序,使用关键字ASC进行升序
排序,使用关键字DESC进行降序排序,:(1)ORDEYBYcolumnASC:按某一字段进行升序排序,ASC可以省略不写;SELECT*FROMuserORDEYBYidASC;或者SELECT*FROMuserORDEYBYid;(2)ORDEYBYcolumnDESC:按某一字段进行降序排序
,DESC不可以省略不写;SELECT*FROMuserORDEYBYidDESC;(3)ORDEYBYcolumn1,column2DESC:按多个字段进行降序排序;SELECT*FROMuserORDEYBYsex,ageDESC;3.4数据操作第3章MySQL常用操作MySQL程序设计➢
对查询结果分组GROUPBY对查询结果分组是将查询结果按照1个或多个字段进行分组,字段值相同的为一组,GROUPBY可以用于单个字段和多个字段。SELECT*FROMuserGROUPBYsex;group_concat(字段名)可以作为一个输出
字段来使用,表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合。SELECTsex,group_concat(name)FROMuserGROUPBYsex;3.4数据操作第3章M
ySQL常用操作MySQL程序设计➢设置分组条件HAVING是用来设置分组条件的条件表达式,用来分组查询后指定一些条件来输出查询结果,WHERE语句在聚合前先筛选记录,也就是说作用在GROUPBY和HAVING字句前,而HAVING子句在聚合后对组记录进行筛选,HAVING只能用于GROUPBY。
SELECTsex,count(sex)FROMuserWHEREage>15GROUPBYsexHAVINGcount(sex)>2;3.4数据操作第3章MySQL常用操作MySQL程序设计➢限制查询数量LIMIT是用于限制查询的数量,常用于分页语句,LIMIT子句可以被用于强制SELE
CT语句返回指定的记录数。LIMIT接受一个或两个数字参数,参数必须是一个整数常量。(1)如果只给定一个参数,它表示返回最大的记录行数目;SELECT*FROMuserLIMIT6;#检索前6行记录(2)如果给定两个参数,第一个参数指定第一个返回记录行
的偏移量,第二个参数指定返回记录行的最大数目,初始记录行的偏移量是0(而不是1);SELECT*FROMuserLIMIT2,5;#从第2条数据开始,检索出5条数据3.4数据操作第3章MySQL常用操作MySQL程
序设计➢设置主键创建表的时候,使用PRIMARYKEY添加主键:CREATETABLEtbl_name([字段描述省略...],PRIMARYKEY(index_col_name));CREATETABLEstudent(idintnotnull,namevarchar(255
)notnull,nointnotnull,primarykey(id))ENGINE=InnodbDEFAULTCHARSET=utf8;3.5字段操作第3章MySQL常用操作MySQL程序设计➢设置复合主键复合主键就是由多个字段组成的组建,就像开启宝藏的钥匙,
往往会分成两把或者更多,当同时插入两把钥匙,才能开启宝藏的大门,复合主键也是这样,通过多个字段作为复合主键来确定唯一标识。CREATETABLEperson(idintnotnull,namevarchar(255)notnull,jobvarchar(255
)notnull,primarykey(id,name))ENGINE=InnoDBDEFAULTCHARSET=utf8;3.5字段操作第3章MySQL常用操作MySQL程序设计➢添加字段添加一个手机号码(phone)新的字段到user表里
,数据类型为字符串类型。ALTERTABLEuseraddphonevarchar(25)notNull;3.5字段操作第3章MySQL常用操作MySQL程序设计➢改变字段类型可以修改表字段的数据类型,将手机号码(phone)字符串类型修改为整型(int);ALTERT
ABLEusermodifyphoneint(25)notNull;3.5字段操作第3章MySQL常用操作MySQL程序设计➢字段重命名对于已经存在的表结构,如果想对表里的字段重命名,需要使用altertable来修改表里的字段,格式如下所示。ALT
ERTABLE<表名>change<字段名><字段新名称><字段的类型>ALTERTABLEuserchangephonetelephoneint(25);3.5字段操作第3章MySQL常用操作MySQL程
序设计➢字段设置默认值MySQL数据库字段在创建的时候可以设置默认值,也可以修改它的默认值,如果有默认值,也可以将默认值删除。设置默认值命令操作如下所示:ALTERTABLE表名ALTER字段名SETdefault默认值;删除默认值命令操作如下所示:ALTERTABLE表名A
LTER字段名DROPdefault;3.5字段操作第3章MySQL常用操作MySQL程序设计➢自增字段在MySQL定义字段列为自增的属性:AUTO_INCREMENT。(1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号,编号从
1开始,并1为基数递增;(2)当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值;(3)当插入记录时,如果为AUTO_INCREMENT字段明确指定了一个数值,则会出现两种情况:一种是如果插入的值与已有的编号重复,则会出现出错信息,因为AUTO_INCREMEN
T数据列的值必须是唯一的;另一种是如果插入的值大于已编号的值,则会把该插入到数据列中,并使在下一个编号将从这个新值开始递增;(4)对于使用MyISAM存储引擎,如果用UPDATE命令更新自增列,如果列值与已有的值重复,则会出错,如果大于已有值,则下一个编号从
该值开始递增;但是对于Innodb存储引擎,UPDATEauto_increment字段,会导致发生报错;(5)被DELETE语句删除的id值,除非sql中将id重新插入,否则前面空余的id不会复用;3.5字段操作第3章MySQL常用操作MySQL程序设计➢MySQL客户端htt
ps://dev.mysql.com/downloads/workbench/3.6客户端操作数据库第3章MySQL常用操作MySQL程序设计➢数据库用户管理➢数据库操作➢表操作➢数据操作➢字段操作➢客户端操作数据库总结第3章MySQL常用操作MySQL程序设计