版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章MySQL数据库管理系统
主要内容:
MySQL数据库基本知识
数据库模型概念
数据库服务器管理用户的方法
MySQL数据库、数据表维护管理方法
phpMyAdmin软件的使用方法
3.1MySQL数据库管理系统概述
3.1.1MySQL数据库的术语
1.MySQL数据库管理系统的特点
(1)采用客户机/服务器模式,支持多用户、多线程、
互联网操作,可以实时处理和共享数据。
(2)MySQL软件,由数据库管理员创建用户,包括设
置用户名、密码、与授权。
(3)数据类型丰富,字符、数值、日期、多媒体
(4)占用资源少、运行效率高
(5)MySQL数据库管理系统软件免费
文件/服务器(File/Server)模式
F/S
单价=10
客户机数量=4
将单价、数
金额=40
量、金额保
单价=10
存在订单数
数量=4
据表
金额=单价x数量=10x4=40
客户机/服务器(Client/Server)模式
C/S
单价=10
数量=4
客户机
单价=10
单价=10数量=4
数量=4金额=单价x数量=10x4=40
保存在数据库文件中
3.1.1MySQL数据库的术语
2.MySQL操作模式
(1)命令操作界面
打开命令操作界面,单击“开始”-“运行”
输入“mysql-uroot-p123456”,显示
mysql>
(2)图形操作界面
打开浏览器IE
在地址栏输入http:〃nbxD/DhDmyadmin讲入
MySQL图形操作界面
3.数据库服务器
安装有数据库管理系统的计算机服务器。
管理方式:支持客户机/服务器(C/S)
主要职责:管理数据库用户、维护数据库和
数据表文件
4.数据库用户
被授权允许使用数据库、数据表的人员。
•数据库管理员:id=root,pwd=123456
职责,维护用户账号、维护数据库和数据表
•普通用户:由数据库管理员创建用户账号,
并授权维护数据库,数据表。
5,数据模型
是计算机组织数据需要遵守的规范。
层次型、网状型和关系型。
一个关系对应一个二维的数据表(文件)。
关系数据库则是管理数据表的文件。
MySQL数据模型
由数据库文件与数据表文件构成。
数据库文件:用于管理数据表构成信息的文件,
数据库文件名唯一(不重复)。
数据表文件:用于管理数据记录的文件,数据
表文件名唯一(不重复)。数据表由,数据
表文件名+数据表结构+数据记录构成。
关系数据库的基本概念
A•表:表名、列名和数据行组成。
4•歹Ij:也称作字段,域,属性。
>•行:也称记录。
•值:表中行与列的交汇处,即存储的数据。
•舄与列名的命名规则:表名在数据库中唯
一,冽名在表中唯一。
学生基会情况表
学号出生日期专业
052107刘金82-10-091001
052108王华82-11-211002
上一张下一张
表和表之间的关系
一对多的关系:两个表之间的关系一对多
学生基本情况表
学号姓名出生日期专业
052107刘华82-10-091001
052108王华82-11-211001
专业代码
专业代码专业名称
1001计算机应用
上一张下一张
表和表之间的关系
一对一的关系:两个表之间的关系一对一。
学生基本情况表
学号姓名出生日期专业
052107刘华82-10-091001
052108王华82-11-211001
学生成绩单表
学号会计计算机英语
052107899194
052108877987
上一张下一张
6,数据类型
指数据分类类别:
字符型(姓名,职称,地址)
数值型(工资,成绩,数量)可以进行运算
日期型(出生日期,毕业时间)
逻辑型(只有两种状态,逻辑真和逻辑假)
7.MySQL的数据存储结构
MySQL数据库管理系统保存在
“C:/AppServ/MySQL”
系统数据库MySQL,用户创建的应用数据库
bookstore保存在
“C:/AppServ/MySQL/Data”
3.1.2案例说明
网络图书销售信息管理系统
创建一个数据库,数据库文件名:bookstore
在数据库中创建三张数据表,数据表文件名
分别是book(图书情况表)、member(会员
情况表)、sell(销售情况表)
32网络数据库的数据模型
3.2.1数据类型
指数据分类类别和型式。在一次运算过程中运算
对象的类型必须一致(相同)。
常见的类型:
字符型,字母、汉字、数字符号、特殊符号
数值型,整数和小数
日期时间型,具有特定格式的数据
逻辑型(布尔型),逻辑真True,逻辑假False
1.字符串类型的数据
(1)char:定长字符串类型,范围0-255
例:namechar(8),固定8个字节。
name="刘华”实际占用8字节“刘华
(2)varchar:变长字符串类型,范围0-255
例:namevarchar(8),不超过8个字节。
name="刘华”实际占用5字节“刘华二
(3)text:变长文本类型的字符数据
范围0-65535
(4)blob:变长(二进制形式)长文本数据
范围0・65535
2,数值类型的数据
(1)int:整型数据,范围4字节,
.2147483648-+2147483647
(2)float:浮点型数据,包括整数和小数
3.日期时间类型数据
按照特定的日期格式和时间格式表示数据
(1)date:表示日期,格式yyyy-mm-dd
(2)time:表示时间,格式hh:mm:ss
(3)datetime:表示日期时间,
格式yyyy-mm-sshh:mm:ss
3.2网络数据库的数据模型
322数据库
是相关数据表的集合。数据库文件名唯一。
3.2.3数据表
是相关数据记录的集合。数据表文件名唯一。
一个数据表:表文件名+数据表结构+数据记录。
3.3MySQL服务器用户管理
每一个使用MySQL数据库的用户必须拥有一
个合法的账号(包括用户名,用户密码)
和相应的权限。
MySQL数据库管理员账号,用户名为root,
用户密码为123456(在安装过程中设置的
密码,可以随时修改)。
普通用户的账号和权限必须由数据库管理员
创建和授权。
3.3.[登录MySQU艮务器
使用数据库管理员的账号登录,用户名root,用户
密码123456。
方法一,使用命令行方式登录
单击“开始”-“所有程序”-"AppServ”-
“MySQLcommandlineclient”
输入密码123456。出现mysql>登录成功
故lySQLCouandLineClient
Enterpassword:xxxxxx
WelcometotheMySQLmonitor.Commandsenduith;or\g.
YourMySQLconnectionidis8
Serueruersion:5.0.45-connunity-nt-logMySQLCommunityEdition<GPL>
llype'help;'or'\h'forheIp.Type1\c*toclearthebuffer.
mysqlkMysql>提示符
3.3.[登录MySQU艮务器
方法二使用“运行”登录MySQL服务器。
单击“开始”-“运行”
命令格式:mysql-uv用户名〉・pv用户密码〉
MySQL命令格式
命令关键词V选项>;分号表示命令结束并提交
1)打开数据库
Usev数据库名〉;
例:usemysql;打开mysql数据库
2)增加新用户的账号到mysql数据库user表
Insertinto数据表名(主机名,用户名,用户密码,
权限1,权限2,…)values(主机名值,用户名值,
用户密码值,权限1值,权限2值,…);
3)激活数据
Flushprivileges;
332MySQL服务器的用户管理
MySQL服务器中内置系统数据库,数据库名
为mysqL数据库中内置数据表,数据表名
为user。
只能由数据库管理员(root,123456)对用
户账号进行维护,增加新用户、修改用户
密码、删除用户账号、用户账号授权。
使用root、123456登录mysql数据库管理系
统。进入mysql>提示符
User数据表中保存所有授权用户(允许使用mysql数据库的
用户)的用户名、用户密码以及用户权限表1/2。
序号权限参数说明
1Select_priv显刁、记录权限
2lnsert_priv插入记录权限
3Update-priv更新记录权限
4Delete_priv删除记录权限
5Create_priv建立数据库、数据表权限
6Drop_priv删除表文件的权限
7lndex_priv创建索引字段权限
8Alter_priv修改表结构权限
User数据表中保存所有授权用户(允许使用mysql数据库的
用户)的用户名、用户密码以及用户权限表2/2。
序号权限参数说明
9File_priv读写服务器上文件的权限
10Grant_priv授权其他用户权限
11References_priv维护外键权限
12Show_db_priv浏览服务器上数据库权限
13Lock_tables_priv创建删除表锁权限
1.增加新的用户
创建新的用户账号
包括用户名、用户密码、用户权限。
打开mysql数据库
插入新的用户账号数据到user数据表
激活新创建的用户账号
命令格式:
mysql>usemysql;
mysql>insertintomysql.user(主机名称,用户名称,
用户密码,权限1,权限2,…)
valuesfhostuseGpasswordjSelec^priv,-);
mysql>flushprivileges;
增加用户例题bookuser/11111
用六名bookuser,用户密码111111,拥有select,insert,
update,delete’create,drop权限。
mysql>usemysql;
mysql>insertinto
mysql.user(host9user9password9select_p
riv,insert_priv,update_priv,delete_privi,cr
eate_priv,drop_priv)values
(1ocalhost7bookuser\passwordC111111
,)y,y,y,y,y,y);
mysql>flushprivileges;
增力口用户例题booktest,333333
用户名booktest,用户密码333333,拥有select,insert,
update,delete,create,drop,index,alter^Z^o
mysql>usemysql;
mysql>insertinto
mysql.user(host,user,password,select_p
riv,insert_priv,update_priv,delete_privi,cr
eate_priv,drop_priv,index_priv,alter_priv)
values
(1ocalhost7booktest\password("333333,
mysql>flushprivileges;
2.修改用户权限
命令格式:
updatev表名〉set[权限参数名称=权限值]
where〈条件〉;
mysql>usemysql;
mysqOupdatemysql.userset权限名1=权
限值1,权限名2=权限值2wherev条件〉;
mysql>flushprivileges;
修改权限例题
修改bookuser用户的index_priv和alter_priv
如丁一一
mysql>usemysql;
mysqOupdatemysql.user
setindex_priv=y,alter_priv='y,
whereuser="bookuser\
mysql>flushprivileges;
修改用户密码
命令格式:
updatev表名〉
setpassword=password(新密码)
wherev条件〉;
mysql>usemysql;
mysqOupdatemysql.userset
password=password(新密码)wherev条
彳牛〉;
mysqOflushprivileges;
修改用户密码例题
修改bookuser用户的密码111111为222222
mysql>usemysql;
mysqOupdatemysql.user
setpassword=password(u222222,J)
whereuser=^bookuser,J;
mysql>flushprivileges;
3,删除用户账号
命令格式:
deletefromv表名>wherev条件〉
mysql>usemysql;
mysqOdeletefrommysql.user
wherev条件〉;
mysql>flushprivileges;
删除用户账号例题
删除booktest用户账号
mysql>usemysql;
mysqOdeletefrommysql.user
whereuser="bookuser\
mysql>flushprivileges;
3.4MySQL数据管理
•维护数据库:显示数据库,建立数据库,
删除数据库,打开数据库。
•维护数据表:建立数据表,显示数据表文
件名,显示数据表结构,修改数据表结构,
删除数据表文件,更换数据表名。
•维护数据表的数据(记录):增加记录,
删除记录,修改记录,选取记录
341维护MySQL数据库
1.显示数据库(MySQL数据库是系统数据库)
显示当前服务器中所有的数据库。
命令格式:showdatabases;
341维护MySQL数据库
2.建立数据库
在当前服务器中创建一个新的数据库。
命令格式:createdatabasev数据库文件名〉;
例题:创建一个叫dbtest的数据库。
mysql>showdatabases;查询存在的数据库
mysql>createdatabasedbtest;
dbtest数据库的位置。
C:/AppServ/MySQL/data/dbtest
mysql>showdatabases;查询存在的数据库
341维护MySQL数据库
3,删除数据库
删除当前服务器中的一个数据库。
命令格式:dropdatabasev数据库文件名〉;
例题:创建一个叫dbtest的数据库。
mysql>showdatabases;查询存在的数据库
mysql>dropdatabasedbtest;
mysql>showdatabases;查询存在的数据库
341维护MySQL数据库
4■打开数据库
打开当前服务器中的一个数据库。
命令格式:use〈数据库文件名〉;
例题:打开bookstore数据库。
mysql>usebookstore;
c:\lySQLComMandLineClienlnIX
342维护MySQL数据表
数据表=数据表名、数据表结构、数据记录。
指定数据表名
定义数据表结构(字段名、字段类型、宽度、
辅助项)
数据表维护工作:
1.创建一个新的数据表、2.显示存在的数据表、
3,显示一个数据表的结构、4.修改数据表结
构、5,删除数据表、6,更换数据表名。
342维护MySQL数据表
1.建立新的数据表,定义表文件名、字段名、
字段类型、字段宽度、设置字段属性。
命令格式:
createtable〈数据表名>(<字段1定义),
〈字段2定义,,…〈字段n定义〉);
字段i定义内容:字段名,类型,宽度,非空
修饰符,default修饰符,autojncrement
修饰符。一
create字段约束
NULL和NOTNULL修饰符:NULL允许该字段
为空值,NOTNULL该字段不允许为空值。
DEFAULT修饰符:在插入记录时自动插入一个默
认值。
AUTO」NCREMENT修饰符:只适用于INT类型
字段,是步长为一的自动增量修饰。
例题:建立数据表(members)
数据表名:members
字段名字段类型宽度说明
身份证号char1字符非NULL
会员姓名char10字符非NULL
会员密码char6字符非NULL
联系电话varchar20字符非NULL
注册时间datetime日期时间非NULL
创建数据表方法一:命令行方法
单击“开始”-“所有程序”-"AppServ”-
“MySQLCommandLineClient”
mysql>usebookstore;y录色括号一对
mysql>createtablemember^
->身份证号char(18)
->会员密码char(6),
。会员姓名char(10),逗号不能省
->联系电话varchar(20),
。注册时间datetime;
■〉)日匕处没有逗号
分号提交命令
创建数据表方法二:批处理方法
将创建数据表的命令写入一个文本文件,扩展名为sql。
•创建批处理文件,用记事本编辑一个mysql批处理文件。
文件名为:mysql_create_members.sql
•运行批处理文件,在mysql命令行窗口输入按以下格式输入命令Source
mysql>sourcec:\appserv\mysql\data\mysql_create_members.sql
再编辑一个批处理文件
c:\AppServ\MySQL\data\bookstore_create_tables.scl
该文件创建book、member、sell三不数据装,数据表结构见p33-p34
创建数据表修饰符的使用
创建testmbs数据表使用修饰符。
createtestmbs(
idint(6)notnullautojncrement,
姓名char(8)notnull,
性别char(2)notnulldefault'男',
出生日期datenotnulldefault"1998-05-1
索引
索引的作用:提高搜索速度,减少查询时间。
创建索引(键)方式:
方式一createtable创建索引
createtablev数据表》(字段1定义,…字段n定义,
index[索引名称](字段字段2,・・・]),
unique[索引名称](字段1[,字段2,…]));
方式二create[unique]index添力口索弓I
createindex[索引名]on数据表(字段1[,字段2]);
createuniqueindex[索引名]on数据表(字段字
段2]);
=unique选项不重
createtable方式索引例题
createtablestudent(
学号char(8)notnull,
姓名char(12)notnull,
性别char(2)default,男',
出生年月datenotnulldefault978-01-08\
专业char(6)notnulldefault'100001',
indexstudsp(专业),
uniquestudid(学号));
createindex方式索引例题
createtablestudent(
学号char(8)notnull,
姓名char(12)notnull,
性别char(2)notnulldefault,男',
出生年月datenotnulldefault'1978-01-08\
专业char(6)notnulldefault'100001');
createindexstudsponstudent(专业);
createuniqueindexstudidonstudent(学号);
主键
主键字段值(键值)非空且不重,可以多字段
组合主键,一个数据表中主键只能有一个。
创建主键方式:
方式一createtable创建索引
createtable〈数据表〉(字段1定义,…字段n定义,
primarykey[索弓I名球](字段字段2,•••]));
添加主键方式:
方式二altertable添加索引
altertable数据表addprimarykey[索引名](字段
1L字段2]);
createtable方式创建主键例题
createtablestudent(
学号char(8)notnull,
姓名char(12)notnull,
性别char(2)notnulldefault'男',
出生年月datenotnulldefault'1978-01-08\
专业char(6)notnulldefault'100001\
primarykeystudxh(学号));
altertable方式添加主键例题
createtablestudent(
学号char(8)notnull,
姓名char(12)notnull,
性别char(2)notnulldefault'男',
出生年月datenotnulldefault'1978-01-08\
专业char(6)notnulldefault'10000V);
altertablestudentaddprimarykeystudxh
(学号);
外键
通过外键在两个数据表中建立关联,可以是
一对一关联,也可以是一对多关联。该关
联在关联表中的数据构成参照完整性。
定义外键格式:
1.使用index索引项名(索引字段)创建索弓I。
2,使用foreignkey(索引字段)references主
键数据表名(主键索引字段)。
createtable方式创建外键例题
createtabletitle(
职称代码char(4)notnullprimarykey,
职称名称varchar(20)notnull)type=innodb;
createtablemembers(
身份证号char(18)notnull,
性别char(2)notnull,
出生日期datenotnull,
工作单位varchar(24)notnull,
单位地址varchar(24)notnull,
邮政编码char(6)notnull,
职称代码char(4)notnull,
primarykey(身份证号),
index(职称代码),
foreignkey(职称代码)referencestitle(职称代码))type=innodb;
altertable方式添加外键例题
createtabletitle(
职称代码char(4)notnullprimarykey,
职称名称varchar(20)notnull)type=innodb;
createtablemembers(
身份证号char(18)notnul
性别char(2)notnul
出生日期datenotnul
工作单位varchar(24)notnul
单位地址varchar(24)notnul
邮政编码char(6)notnul
职称代码char(4)notnul
primarykey(身份证号),
index(职称代码))type=innodb;
altertable数据表名addforeignkey(职称代码)referencestitle(BR
称代码)ondeletecascadeonupdatecascade;
删除索引,主键,外键
•删除索引命令格式:
dropindex索引名称on数据表名;
・删除主键命令格式:
altertable数据表名dropprimarykey;
・删除外键命令格式:
altertable数据表名dropforeignkey外键标
识;一般情况通过删除表实现删除外键
(外键标识可以使用“showcreatetable数
据表名”得到,信息中的constraint选项值)
删除索引、主键、外键例题
createtabletitle(
职称代码char(4)notnullprimarykey,
职称名称varchar(20)notnull)type=innodb;
createtablemembers(
身份证号char(18)notnull,
性别char(2)notnull,
出生日期datenotnull,
工作单位varchar(24)notnull,
单位地址varchar(24)notnull,
邮政编码char(6)notnull,
职称代码char(4)notnull,
primarykey(身份证号),
index(职称代码),
foreignkey(职称代码)referencestitle(职称代码))type=innodb;
删除索引,主键,外键例题
•删除索引:
dropindex索引名称on数据表名;
dropindex职称代码onmembers;
删除索引,主键,外键例题
删除主键:
altertable数据表名dropprimarykey;
altertablemembersdropprimarykey;
删除索引,主键,外键例题
删除外键:
altertable数据表名dropforeignkey外键标识;
altertablemembersdropforeignkey
members_ibfk_1;
外键标识使用showcreatetablemembers;的
constraint得至Umembersibfk1
外键参照完整性
外键表外键与参照表主键建立数据关联,该
关联构成表间约束(参照完整性)。
夕卜键定义中的ondeletecascade约束、on
updatecascade约束。
ondeletecascade约束关联表同步删除。
onupdatecascade约束关联表同步更新。
外键关联例题
createtablezctb(
zccodechar(4)primarykey,
zcnamechar(10))type=innodb;
createtablezginfo(
zgidchar(8)primarykey,
zgnamechar(10),
zgzcchar(4),
index(zgzc),
foreignkey(zgzc)referenceszctb(zccode)
ondeletecascadeonupdatecascade)
type=innodb;
insertintozctb(zccode.zcname)values
(0001?工程师,);
insertintozginfo(zgid9zgname9zgzc)
values('100000017张华70001');
select
updatezctbsetzccode='0002Jwhere
zccode="0001J;
select
deletefromzctbwherezccode='0002J;
select
342维护MySQL数据表
2.显示数据表名。
命令格式:
showtables;
342维护MySQL数据表
2.例题:显示bookstore数据库中的数据表。
mysqOshowtables;
342维护MySQL数据表
3.显示数据表结构。
命令格式:
describev数据表文件名〉;
342维护MySQL数据表
3.例题:显示members数据表的结构。
mysql>describemembers;
CABySQLCOBBandLineClient■-回*1
iysql>describenenbers;s
r-.....................一、rrr-..................rr-
!Type:Null1!Key1!Default1!Extra!
i_________________________________________■____________________a_________________a_____________________________a_______________________a
r....................................."................................rr........................rr…rr"■
份
号
身
证
char<18>:NOPRI
期
性
日
别char<2>:YESNULL
位
出
单
生date!NO
址
地
工uarchar<24>!NO
政
编
担
邮uarchar<24>!NO
称
代
码
职char<6>!NOMUL
char<4>:NOMUL
k_________________________________________a____________________i1_________________11_____________________________1i_____________________
7roi?sinset<0.01sec)
ysql)Ld
342维护MySQL数据表
4.修改数据表结构。
修改、增加、删除字段名称、字段类型
⑴修改字段命令格式:
altertable数据表名change原字段名新字段名;
①修改字段名例题:
altertablememberschange性另U会员性另Uchar(2);
②修改字段类型例题:
altertablememberschange工作单位工作单位
char(20);
342维护MySQL数据表
4.修改数据表结构。
修改、增加、删除字段名称、字段类型
⑵增加字段命令格式:
altertable数据表名add字段名字段类型;
①增加字段例题:
altertablemembersadd单位电话char(12);
342维护MySQL数据表
4.修改数据表结构。
修改、增加、删除字段名称、字段类型
⑶删除字段命令格式:
altertable数据表名drop字段名;
①删除字段例题:
altertablemembersdrop单位电话;
342维护MySQL数据表
5.删除数据表。
命令格式:
droptable[ifexists]数据表名;
①直接删除数据表例题:
droptablemembers;删除members数据表
②如果数据表存在就删除数据表:
droptableifexistsmembers;如果members数据
装存在就删除members数据表
342维护MySQL数据表
6.更换数据表名。
命令格式:
renametable数据表名to新数据表名;
①更换数据表名例题:
renametablememberstomembersx;将数据表名为
members的更换为membersx
3.4.3维护数据表记录
1.增加记录
命令格式:
insertinto数据表名(字段名1,…字段名n)values(数值
1,…数值n);
字段i顺序任意,字段i与数值i一一对应。
①增加记录例题:
insertintomembersx(身份证号,性别,出生日期,工作单
位)values(,'男','1978・01・
037中国人民大学');
注意:增加记录时主键字段或UNIQUE索引字段不能重复
外键字段值在关联表中主键值必须已经存在
3.4.3维护数据表记录
2,删除记录
命令格式1:删除数据表中全部记录。
deletefrom数据表名;
①删除数据表中全部记录例题:
deletefrommembersx;
命令格式2:删除数据表中符合条件的记录。
deletefrom数据表名where条件表达式
②删除数据表中符合条件的记录例题:
deletefrommemberswhere
身份证号="10102197801010453’
3.4.3维护数据表记录
3.修改记录
命令格式1:修改数据表中全部记录指定字
段的值
updatev数据表名〉setv字段名仁数值
…[字段名门=数值n]
字段i顺序任意,字段i与数值i一一对应,同
时修改多个字段时set只使用一个。
①修改全部记录指定字段值例题:
updatememberset会员密码='9999991
3.4.3维护数据表记录
3.修改记录
命令格式2:修改数据表中符合条件的记录指定字
段的值
updatev数据表名〉setv字段名1=数值…[字段名
n=数值n]wherev条件表达式〉
①修改身份证号为的会员
密码为‘8888881会员姓名为‘赵华'例题:
updatememberset会员密码='888888',会员姓名='赵
华'where身份证号=;
3.4.4选取数据表记录
1.选取表达式命令格式
命令格式1:选取显示表达式表结果
selectv表达式表〉
表达式表:获取显示表达式结果。包括算术表达式,比较
表达式,逻辑表达式。
⑴算术表达式:运算对象+算术运算符+运算对象
算术运算符:+,■,*,I
例题:
select18+25*4;一个表达式
sleet18+25*4,100/4+5;两个表达式
3.4.4选取数据表记录
1.选取表达式命令格式
⑵比较表达式:运算对象+算术运算符+运算对象
比较运算符:大于〉,大于等于>=,小于V,小于等于V=,
等于=,不等于介于范围内between,存在于in,类
似于like,binary全等选项
注:比较结果为一个逻辑值1表示表达式成立,逻辑
值0表示表达式不成立。
例题:
select10>8,10<8,10=8,10<>8;
1001
344选取数据表记录
⑵比较表达式:
binary选项例题:
selectbinary
10
between例题:起始值and终止值
select10between0and100,10betwenn50and100;
10
in例题:判断存在的集合
select勺inbinary<g,in(tr,/g,,,b,),,a,in(4r,,,g,,,b,);
100
344选取数据表记录
⑵比较表达式:
[not]Hke例题:
通配符%任意符号
select'张华'昨6'张%','张华'叱/%张%','张华'
like%张';
110
通配符一个字符
select,张华'like弓长'张华'like,张'张华'
like1张';一
100
not选项是类似结果取反
select'张华'notlike,张%';
344选取数据表记录
⑶逻辑表达式:运算对象+逻辑运算符+运算对象
逻辑运算符:and与(并且),or或(或者),not非(取反)
逻辑真为1,逻辑假为0
abaandbaorbnota
00001
10010
01011
11110
select1and1,1and0,1or1,0or0,not0,not1;
101010
3.4.4选取数据表记录
1.选取数据表数据表达式结果命令格式
命令格式2:选取数据表中指定字段,指定记录的结果,
并对输出结果进行重组。
selectv字段名表〉[fromv数据表名表,wherev条件表
达式,[orderby字段名[asc|desc]][groupbyv字段
名>]]
字段名表:显示获取结果
from数据表名表:数据源
where条件表达式:获取数据条件
orderby字段名:按字段进行升序asc或降序desc排序
groupby字段名:按字段进行分组
344选取数据表记录
⑴选取输出一个数据表的所有记录的所有字段内容。
命令格式:
select*fromv数据表名〉
*代表所有字段
例题:
select*frommembers;
显示members数据表的所有记录的所有字段。
344选取数据表记录
⑵选取输出一个数据表的所有记录的部分字段内容。
命令格式:
selectv字段名表达式〉fromv数据表名〉
例题:
select身份证号,性另1出生日期,frommembers;
显示members数据表的所有记录的身份证号、性别、
出生日期字段。
3.4.4选取数据表记录
⑶选取输出一个数据表的所有记录的部分字段内容,
字段名称使用自定义名称,数据表名使用自定义数
据表别名。
命令格式:
selectv字段名as自定义名称〉from〈数据表名as
自定义数据表别名〉
例题:
select身份证号asVIP身份证号,性别as会员性别,出
生日期frommembersasmbs;
显示members数据表的所有记录的身份证号(VIP身份
证号)、性另M会员性别)、出生日期字段。
344选取数据表记录
⑷选取输出一个数据表的符合条件记录的所有字段内
容。
命令格式:
select*from〈数据表名〉where〈条件表达式〉
例题:
select*frommemberswhere性另仁女’;
显示members数据表的所有性别为'女'的记录的所
有字段。
344选取数据表记录
⑸选取输出一个数据表的符合条件记录的部分字段内
容。
命令格式:
selectv字段名表〉fromv数据表名〉wherev条件表
达式,
例题:
select身份证号,性别,出生日期,职称代码from
memberswhere性另女’;
显示members数据表的所有性别为'女'的记录的身
份证号、性别、出生日期、职称代码字段。
3.4.4选取数据表记录
⑹选取输出一个数据表的所有记录的部分字段和表达
式内容,输出记录按指定字段排序。
命令格式:
select〈字段名表,表达式表〉from〈数据表名〉
orderby〈排序字段,asc|desc
例题:
select身份证号,性另1出生日期,出生日期+1from
membersorderby出生日期asc;
显示members数据表的所有记录的身份证号、性别、
出生日期字段、出生日期+1表达式内容,输出结果
按出生日期字段进行升序排序。
3.4.4选取数据表记录
⑹选取输出一个数据表的所有记录,部分字段和表达
式内容,输出记录按指定多个字段排序。
命令格式:
select〈字段名表,表达式表〉from〈数据表名〉
orderby〈排序字段asc|desc,〈排序字段2>
asc|desc
例题:
select身份证号,性另山year(curdate())-year(出生日期)
as‘年龄'frommembersorderby性另Udesc,年
龄asc;
显示members数据表的所有记录的身份证号、性别、
年龄,输出结果按性别降序、年龄升序进行排序。
3.4.4选取数据表记录
⑹选取输出一个数据表的部分记录的部分字段和表达
式内容,输出记录按指定字段排序。
例题:
select身份证号,性另ij,year(curdate())・year(出生日期)
as,年龄'frommemberswhere性别女'
orderby年龄desc;
curdate。函数:获取当前日期(结果为日期型数据)
year(日期型数据):获取日期型数据中的年份。结果是
一个数彳直。
显示members数据表的所有性别为女的记录的身份证
号、性别、年龄,输出结果按年龄表达式进行降序
排序。
3.4.4选取数据表记录
⑺选取输出一个数据表的全部记录,部分字段和表达
式内容,输出结果按指定字段分组,可以对结果集
进行升序asc戢降庠desc理序。
命令格式:
selectv字段名表,表达式表〉fromv数据表名>
groupby〈分组字段〉[asc|desc];
例题:
select身份证号,性另Ufrommembersgroupby性另U
asc;
显示members数据表的所有记录的身份证号、性别,
输出结果按性别分组,并按性别进行升序排序。
3.4.4选取数据表记录
⑻选取输出一个数据表的全部记录按照指定字
段进行分组,并计算每一个分组的记录数
count()o
命令格式:
selectv字段名表,count。表达式〉fromv数
据表名〉groupbyv分的字段〉;
例题:
select身份证号,性别,count(身份证号)from
membersgroupby性另U;
显示members数据表的男女的人数。
3.4.4选取数据表记录
⑼选取输出一个数据表的全部记录按照指定字
段进行分组,并计算每一个分组的记录数
count()o
例题:distinct选项
select身份证号,性别,count(性别)from
membersgroupby性另ij;
显示members数据表的男女的人数。
select身份证号,性另ij,count(distinct性另ij)
frommembersgroupby性别;
3.4.4选取数据表记录
⑩选取输出一个数据表的符合条件的记录,和
部分字段,按照指定字段进行分组,计算每
一个分组中最大的出生日期max()o
例题:
select身份证号,性别,职称代码,max(出生日期)
frommemberswhere性另仁女'groupby
职称代码;
显示members数据表的性别为女的每一个职称
的最大出生日期。
3.4.4选取数据表记录
⑪选取输出一个数据表的部分字段,按照指定
字段进行分组,并选取符合条件的分组,计
算每一个分组中最大的出生日期max()。
例题:
select身份证号,性别,职称代码,max(出生日期)
frommembersgroupby职称代码having
性别='女';
显示members数据表性别为女的每一个职称组
中最大出生日期。
344选取数据表记录
⑫选取输出一个数据表的符合条件记录的部分
字段或表达式,使用比较条件表达式。
例题:>选项
select身份证号,性别,出生日期,职称代码from
memberswhere出生日期>'1980・01・01';
显示members数据表的1980・01・01日期以后出
生的人员信息。
3.4.4选取数据表记录
(13)选取输出一个数据表的符合条件记录的部分
字段或表达式,使用比较条件表达式。
例题:like%、—选项
select身份证号,会员姓名,会员密码from
memberwhere会员姓区like弓长%,;
显示member数据表姓张的人员信息。
select身份证号,会员姓名,会员密码from
memberwhere会员姓,like弓长二
显示member数据表姓名2个字姓张的人员信息。
3.4.4选取数据表记录
⑮选取输出一个数据表的符合条件(两个以上条件)记录的部
分字段或表达式,使用比较条件表达式。
例题:like%选项
select身份证号,会员姓名,会员密码frommemberwhere会
员密码>节55555,and会员姓名notlike,张%,;
显示member数据表不姓张并且会员密码A5555551的人员信息。
select身份证号,会员姓名,会员密码frommemberwhere会
员密码>'555555'or会员姓名notlike'张%';
显示member数据表不姓张或者会员密码>节55555,的人员信息。
3.4.4选取数据表记录
(14)选取输出一个数据表的符合条件(两个以上条件)记录的部
分字段或表达式,使用比较条件表达式。
例题:like选项
select身份证号,会员姓名,会员密码frommemberwhere会
员密码>'555555'and会员姓名notlike'张
显示member数据表不姓张并且会员密码>节55555,的人员信息。
select身份证号,会员姓名,会员密码frommemberwhere会
员密码>'555555'or会员姓名notlike'张
显示member数据表不姓张或者会员密码>节55555,的人员信息。
3.4.4选取数据表记录
⑯选取输出来自于两个以上的数据表的数据集合,定义输
出条件和输出的字段或表达式。输出的字段必须指明所
属数据表,同时还要指明数据表之间的关联。使用数据
表别名(asmb)o
例题:
select身份证号,会员姓名,会员密码frommember;
显示member数据表的身份证号、会员姓名、会员密码。
select身份证号,性别,出生日期frommembers;
显示members数据表的身份证号,性别,出生日期。
selectmb.身份证号,会员姓名,会员密码,性别,出生日期
frommemberasmb,memberswheremb.身份证号
=members.身份证号;
3.4.4选取数据表记录
(16)选取输出来自于五个数据表的数据集合。输出同名字段
必须指明所属数据表,必须用and分隔定义表间关联。
例题:输出订单号(sell)、书名(book)、单价(book)、身份
证号(member)、会员姓名(member)、性另U(members)、
职称名称(title)。
select订单号,书名,单价,member.身份证号,会员姓名,性
别,职称名称frombook,member,title,members,sell
wheresell.身份证号=member.身份证号andsell.图书
编号=book.图书编号andmembers.身份证号
=member.身份证号andmembers.职称代码=title.职称
代码;
3.4.4选取数据表记录
(16)选取输出来自于五个数据表的数据集合。输出同名字段
必须指明所属数据表,必须用and分隔定义表间关联。
例题:输出订单号(sell)、书名(book)、单价(book)、身份
证号(member)、会员姓名(member)、性另U(members)、
职称名称(title)。选取条件,张宇购买的图书清单。
select订单号,书名,单价,member.身份证号,会员姓名,性
别,职称名称frombook,member,title,members,sell
where(sell.身份证号=member.身份证号andsell.图书
编号=book.图书编号andmembers.身份证号
=member.身份证号andmembers.职称代码=title.职称
代码)and会员姓名张宇';
3.4.4选取数据表记录
(16)选取输出来自于五个数据表的数据集合。输出同名字段
必须指明所属数据表,必须用and分隔定义表间关联。
例题:输出订单号(sell)、书名(book)、单价(book)、身份
证号(member)、会员姓名(member)、性另U(members)、
职称名称(title)。选取条件,张宇、赵成新、李来群三人
购买的图书清单。
select订单号,书名,单价,member.身份证号,会员姓名,性
别,职称名称frombook,member,title,members,sell
where(sell.身份证号=member.身份证号andsell.图书
编号=book.图书编号andmembers.身份证号
=member.身份证号andmembers.职称代码=title.职称
代码)and会员姓名in(,张宇';赵成新';李来群');
3.4.4选取数据表记录
(16)选取输出来自于五个数据表的数据集合。输出同名字段
必须指明所属数据表,必须用and分隔定义表间关联。
例题:输出订单号(sell)、书名(book)、单价(book)、身份
证号(member)、会员姓名(member)、性另U(members)、
职称名称(title)。按会员姓名排序的图书清单。
selectmember.身份证号,会员姓名,订单号,书名,单价,性
别,职称名称frombook,member,title,members,sell
where(sell.身份证号=member.身份证号andsell.图书
编号=book.图书编号andmembers.身份证号
=member.身份证号andmembers.职称代码=title.职称
代码)orderby会员姓名;
3.4.4选取数据表记录
(16)选取输出来自于五个数据表的数据集合。输出同名字段
必须指明所属数据表。必须用and分隔定义表间关联。
例题:输出身份证号(member)、会员姓名(member)、订
单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 混凝土及钢筋工程冬季施工方案
- 二零二五年钢筋加工厂员工劳动合同模板2篇
- 2024年深圳职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 二零二五年畜禽粪便处理与资源化利用合作协议3篇
- 2024年海南职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 星锐时代广场二期开盘全新
- 九年级历史上册第四单元封建时代的亚洲国家第12课阿拉伯帝国课件1新人教版
- 四年级语文上册第一单元习作一个好地方习题课件新人教版
- 二零二五年度集装箱运输拖车运输保险合同2篇
- SMT车间管理课程
- 人才交流中心聘用合同模板
- 腾讯云人工智能工程师认证考试题(附答案)
- 广东省广州市天河区2023-2024学年高一上学期期末考试数学试卷(解析版)
- 钢构楼板合同范例
- 2024-2025学年人教版(2024)信息技术四年级上册 第11课 嘀嘀嗒嗒的秘密 说课稿
- 2024中考物理真题汇编:电与磁(含解析)
- 物流管理概论 课件全套 王皓 第1-10章 物流与物流管理的基础知识 - 物流系统
- 苏教版六年级上册分数四则混合运算100题带答案
- 医疗组长竞聘
- 全过程造价咨询项目保密及廉政执业措施
- 2024年业绩换取股权的协议书模板
评论
0/150
提交评论