MySQL数据库管理系统_第1页
MySQL数据库管理系统_第2页
MySQL数据库管理系统_第3页
MySQL数据库管理系统_第4页
MySQL数据库管理系统_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

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

文档简介

第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论