MySQL数据库管理系统.docx
- 文档编号:4295572
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:5
- 大小:17.67KB
MySQL数据库管理系统.docx
《MySQL数据库管理系统.docx》由会员分享,可在线阅读,更多相关《MySQL数据库管理系统.docx(5页珍藏版)》请在冰豆网上搜索。
MySQL数据库管理系统
第七周授课提纲
主题:
MySQL数据库查询操作
(2)
一、数据表中的记录查询:
select[select-option]itemsfromtablename[wherecondition][groupbygroup_type][havingwhere_definition][orderbyorder_type][limitlimit_criteria]
特别注意:
内存变量的使用:
用@开头
二、多表查询:
特别注意:
“.”字符的使用,例如:
db_name.tbl_name.col_name
三、MySQL语言结构:
1.字符串,特别注意:
西文单引号’和西文双引号”的使用、转义符的使用
2.数字,特别注意:
小数点“.”
3.数据库、表、索引、字段和别名,特别注意:
`(backtick,反引号)的使用
4.名字的大小写敏感性
四、MySQL的小秘书:
tee/notee
一、数据表中的记录查询:
●没有任何子句的查询
●用where语句选择满足条件的特定的行
●用orderby子句将记录进行排序
●用limit子句指定选出记录的最大条数
●用groupby子句对结果进行分组,每一组对应查询结果中的一条记录
●用having子句过滤结果
●在查询中使用变量
二、多表查询:
三、MySQL语言结构
1.字符串
字符串是多个字符组成的一个字符序列,由单引号(“'”)或双引号(“"”)字符包围。
例如:
'astring'
"anotherstring"
在一个字符串中,如果某个序列具有特殊的含义,则这个序列以反斜线符号(“\”)开头,称为转义字符。
MySQL识别下列转义字符:
\'
一个ASCII39单引号(“'”)字符
\"
一个ASCII34双引号(“"”)字符
\n
一个ASCII10换行符
\\
一个ASCII92反斜线(“\”)字符
\%
一个ASCII37(“%”)字符。
它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符
\_
一个ASCII95(“_”)字符。
它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符
注意如果在某些正文环境内使用“\%”或“\_”,将返回字符串“\%”和“\_”而不是“%”和“_”。
字符串中包含引号的可以有下列几种写法:
一个字符串用单引号“'”来引用的,该字符串中的单引号“'”字符可以用“''”方式转义。
一个字符串用双引号“"”来引用的,该字符串中的“"”字符可以用“""”方式转义。
你也可以继续使用在引号前加一个转义字符“\”来转义的方式。
一个字符串用双引号“"”来引用的,该字符串中的单引号“'”不需要特殊对待而且不必被重复或转义。
同理,一个字符串用单引号“'”来引用的,该字符串中的双引号“"”不需要特殊对待而且不必被重复或转义。
下面显示的SELECT演示引号和转义是如何工作:
(1)mysq>SELECT'hello','"hello"','""hello""','hel''lo','\'hello';
(说明:
外面是单引号)
+-------+---------+-----------+--------+-------+
|hello|"hello"|""hello""|hel"lo|'hello|
+-------+---------+-----------+--------+-------+
(2)mysq>SELECT"hello","'hello'","''hello''","hel''lo","\"hello";
(说明:
外面是双引号)
+-------+---------+-----------+--------+--------+
|hello|'hello'|''hello''|hel''lo|"hello|
+-------+---------+-----------+--------+--------+
2.数字
整数被表示为一个数字序列。
浮点数使用“.”作为一个十进制的分隔符。
这两种类型的数字可以前置'-'以表示一个负值。
有效整数的例子:
12210-32
有效浮点数的例子:
294.42-32032.6809e+10148.00
一个整数可以在浮点语境中使用,它被解释为等值的浮点数。
3.数据库、表、索引、字段和别名
数据库、表、索引、字段和别名都需遵守MySQL同样的规则。
注意,从MySQL3.23.6开始,规则发生改变了,此时引进了用“`”(backtick,反勾号)引用标识符(数据库、表和字段名)。
标识符
最大长度
允许的字符
数据库
64
一个目录名中允许的任何字符,除了“/”、“\”或“.”。
表
64
一个文件名中允许的任何字符,除了“/”或“.”。
字段
64
所有的字符
别名
255
所有的字符
注意,如果标识符是一个系统保留词或包含特殊的字符,当使用它时,也必须以一个“`”(backtick,反引号)来引用它,例如:
mysql>SELECT*FROM`select`WHERE`select`.id>100;
一个名字允许以在名字中合法的任何字符开始。
特别地,一个名字可以用一个数字开始(这不同于许多其它的数据库系统!
)。
但一个名字不能仅仅全部由数字组成。
不能在名字中使用“.”字符,因为它是用于扩充格式的,你可以用它引用字段(见下表)。
在MySQL中,你可以使用下列表格中的任一种方式引用一个字段:
字段引用
含义
col_name
字段col_name来自查询所用的任何一个表中对应字段
tbl_name.col_name
字段col_name来自当前数据库中的表tbl_name
db_name.tbl_name.col_name
字段col_name来自数据库db_name中的表tbl_name。
这个形式从MySQL3.22或以后版本开始可用
`column_name`该字段是一个关键词或包含特殊字符。
在一条语句中的字段引用中,不需要明确指定一个tbl_name或db_name.tbl_name前缀,除非这个引用存在二义性。
例如,假设表t1和t2均包含一个字段c,当用一个使用了t1和t2的SELECT检索c时,c存在二义性,因为它在这个语句所使用的表中不是唯一的,因而必须通过写出t1.c或t2.c来指明你所需的是哪个表。
同样的,如果从数据库db1的表t和数据库db2的表t中检索,你必须用db1.t.col_name和db2.t.col_name来指定引用哪个库表的字段。
句法.tbl_name意味着表tbl_name在当前数据库中。
这个句法是为了与ODBC兼容,因为一些ODBC程序以一个“.”字符作为表名的前缀。
4.名字的大小写敏感性
在MySQL中,数据库和表分别对应于那些目录下的目录和文件。
因而,操作系统的敏感性决定数据库和表命名的大小写敏感。
这就意味着数据库和表名在Windows中是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的。
注意:
尽管在Windows中数据库与表名是忽略大小写的,但你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表。
下面的查询将不能工作,因为它以my_table和MY_TABLE引用一个表:
mysql>SELECT*FROMmy_tableWHEREMY_TABLE.col=1;
字段名与字段的别名在所有的情况下均是忽略大小写的。
表的别名是区分大小写的。
下面的查询将不能工作,因为它用a和A引用别名:
mysql>SELECTcol_nameFROMtbl_nameASa
->WHEREa.col_name=1ORA.col_name=2;
如果记忆数据库和表名的字母大小写有困难,建议采用一个一致的约定,例如总是以小写字母创建数据库和表。
四、MySQL的小秘书:
tee—将MySQL屏幕中的所有一切(包括:
命令和结果;不管是否正确)
都写入一个文本文件;用法举例:
mysql>teed:
\outfile.txt
notee—终止tee功能;用法举例:
mysql>notee
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 数据库 管理 系统