mysql入门 pdf_Mysql笔记(附Mysql基础书pdf版)

资料

Mysql入门很简单.pdf 链接:https://pan.baidu.com/s/1SojegIqbWz8Dt8-iIjmJzA

提取码:qt4a

数据库篇

SHOW DATABASES; //显示数据库系统中已经存在的数据库

CREATE DATABASE 数据库名; //创建数据库

DROP DATABASE 数据库名; //删除数据库

表篇

注:在使用操作表语句前,首先要使用USE语句选择数据库。选择数据库语句的基本格式为“USE 数据库名”。否则会报错,1046;

CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件],

属性名 数据类型 [完整性约束条件],

属性名 数据类型

);

表名不能为SQL语句的关键字,一个表可以有多个属性。定义时,字母大小写均可,各属性之间用逗号隔开,最后一个属性不需要加逗号。

主键

主键有唯一值

单字段主键

属性名 数据类型 primary key //创建主键,写在属性名数据类型后面;

多字段主键

primary key(属性名 1,属性名2,属性名n)

两者的组合可以确定唯一的一条记录;

外键

外键不一定必须为父表的主键,但必须是唯一性索引,主键约束和唯一性约束都是唯一性索引;

外键可以为空值;

设置外键的基本语法规则如下:

CONSTRAINT 外键别名 FOREIGN KEY(属性 1.1,属性1.2,属性1.n)

REFERENCES 表名(属性2.1,属性2.2,属性2.n)

其中,“外键别名”参数是为外键的代号;“属性1”参数列表是子表中设置的外键;“表名”参数是指父表的名称;“属性2”参数列表是父表的主键。

设置表的非空约束

设置表的唯一性约束

设置表的属性值自动增加

查看表结构

DESCRIBE 表名; // 查看表基本结构语句,可缩写为desc 表名

SHOW CREATE TABLE 表名; //查看表详细结构语句 (包含存储引擎、字符编码)

删除表

DROP TABLE 表名;//删除没有被关联的普通表

删除父表需要先将外键删除,然后才能去删除父表。

字段篇

//通过ALTER TABLE语句

ALTER TABLE 旧表名 RENAME [TO] 新表名;//修改表名 TO参数是可选参数,是否在语句中出现不会影响语句的执行。

ALTER TABLE 表名 MODIFY 属性名 数据类型; //修改字段的数据类型(可以在此修改完整性约束条件)

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 数据类型;//修改字段名和字段数据类型(两项都不可为空,都必须要填写,不然会报错)

MODIFY和CHANGE都可以改变字段的数据类型,不同的是,CHANGE可以在改变字段数据类型的同时,改变字段名。

ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2]; //增加字段

属性名1为需要增加的字段的名称,完整性约束条件、FIRST、AFTER都是可选参数,FIRST、AFTER用来安排新字段的存放位置。否则默认为最后一个字段。

ALTER TABLE 表名 DROP 属性名;// 删除字段

ALTER TABLE 表名 MODIFY 属性名 数据类型 FIRST|AFTER 属性名2; //修改字段的排列位置

ALTER TABLE 表名 ENGINE = 存储引擎名; // 更改表的存储引擎

注:如果表中已经有很多的数据,改变引擎可能会造成意料之外的影响

ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;//删除表的外键约束,其中,“外键别名“参数指创建表时设置的外键的代号。

查询数据

1、基本查询语句

SELECT 属性表

FROM 表名和视图列表

[WHERE 条件表达式1]

[GROUP BY 属性名1 [HAVING 条件表达式2]]

[ORDER BY 属性名2 [ASC | DESC]]

"属性列表"参数表示查询的字段名;“表名和视图列表”参数表示从此处指定的表或者视图中查询数据,表和视图可以有多个;“条件表达式1”参数指定查询条件;“属性名1”参数指按该字段中的数据进行分组;“条件表达式2”参数表示满足该表达式的数据才能输出;“属性名2”参数指按该字段中的数据进行排序,排序方式由ASC和DESC两个参数指出;ASC参数表示按升序的顺序进行排序,这是默认参数;DESC参数表示按降序的顺序进行排序。

3d83ecf993c580c9b50092262f19217a.png

BETWEEN AND指定了某字段的取值范围; IN指定了某字段的取值范围;IS NULL用来判断某字段的取值是否为空;AND和OR用来连接多个查询条件。

IN关键字可以判断某个字段的值是否在指定的集合中。如果字段的值在集合中,则满足查询条件,该记录将被查询出来;

[NOT] IN (元素1,元素2,... ,元素n)

各元素之间用逗号隔开,字符型元素需要加上单引号。

BETWEEN AND关键字可以判读某个字段的值是否在指定的范围内(包含起始值和终止值)。如果字段的值在指定范围内,则满足条件;

[NOT] BETWEEN 取值1 AND 取值2

“取值1”表示范围的起始值,“取值2”表示范围的终止值。

LIKE关键字可以匹配字符串是否相等。

[NOT] LIKE '字符串'

“字符串”表示指定用来匹配的字符串,该字符串加单引号或者双引号。参数的值可以使一个完整的字符串,也可以是包含百分号(%)或者下划线(_)的通配符。

“%”可以代表任意长度的字符串,长度可以为0;

“_”只能表示单个字符。

IS NULL关键字用来判断字段的值是否为空值(NULL),如果字段的值为空值,则满足查询条件。

IS [NOT] NULL

AND关键字用来联合多个条件进行查询,只有同时满足所有条件的记录才会被查询出来。

条件表达式1 AND 条件表达式2 [...AND 条件表达式n]

OR关键字用来联合多个条件进行查询,但使用OR关键字时,只需要满足这几个查询条件的其中一个,就会被查询出来。

条件表达式1 OR 条件表达式2 [...OR 条件表达式n]

注:OR可以和AND一起使用。当两者一起使用时,AND要比OR先运算。

消除重复结果

SELECT DISTINCT 属性名 // “属性名”参数表示要消除重复记录的字段的名词

eg: SELECT DISTINCT d_id FROM empliyee

对查询结果进行排序

ORDER BY 属性名 [ASC | DESC]

ASC(默认)表示按升序的顺序进行排序;DESC表示按降序的顺序进行排序;

分组查询

GROUP BY 关键字可以将查询结果按某个字段或多个字段进行分组。字段中值相等的为一组。

GROUP BY 属性名 [HAVING 条件表达式][WITH ROLLUP]

“属性名”是指按照该字段的值进行分组;“HAVING条件表达式”用来限制分组后的显示;

WITH ROLLUP关键字将会在所有记录的最后加上一条记录。该记录是上面所有记录的总和。(int类型则值相加、字符类型则一一列举出来)

1、单独使用GROUP BY关键字,查询的结果就是字段取值的分组情况。但每组只显示该组的第一条记录。

2、GROUP BY关键字可以和GROUP_CONCAT()函数一起使用时,GROUP_CONCAT()函数会把每个分组中指定字段值都显示出来。

3、GROUP BY关键字与集合函数一起使用时(集合函数包括COUNT()、SUM()、AVG()、MAX()、MIN());通常先使用GROUP BY关键字将记录分组,然后每组都使用集合函数进行计算。在统计时经常需要使用GROUP BY关键字和集合函数。

4、GROUP BY关键字与HAVING 一起使用,“HAVING条件表达式”可以限制输出的结果。

说明:“HAVING条件表达式”与“WHERE条件表达式”都是用来限制显示的。但是,两者起作用的地方不一样。“WHERE条件表达式”作用于表或者视图,是表和视图的查询条件。“HAVING条件表达式”作用于分组后的记录,用于选择满足条件的组。

5、按多字段进行分组

GROUP BY 属性名1,属性名2

分组过程中,先按照属性1进行分组,遇到属性1的值相等的情况时,再把属性1值相等的记录按属性2进行分组;

用LIMIT限制查询结果的数量

LIMIT关键字有两种使用方式:不指定初始位置、指定初始位置。

1、不指定初始位置

LIMIT 记录数 //仅显示“记录数”的条数

2、指定初始位置

LIMIT关键字可以指定从哪条记录开始显示,并且可以指定显示多少条记录。

LIMIT 初始位置,记录数 //“初始位置”参数指定从哪条记录开始显示;“记录数”参数辨识显示的条数 注:位置从零开始计数

使用集合函数查询(放置在SELECT后、FROM前)

集合函数包括COUNT()、SUM()、AVG()、MAX()、MIN();

COUNT()函数用来统计记录的条数。(也可按照属性名分别计算记录的总数)

SUM()函数可以求出表中某个字段取值的总和。 (SUM()函数只能计算数值类型的字段,包括INT()类型、FLOAT()类型、DOUBLE()类型、DECIMAL()类型。不能计算字符类型,计算结果都为0)

AVG()函数可以求出表中某个字段取值的平均值。(ZVG()函数经常与GROUP BY字段一起使用,用来计算每个分组的平均值)

MAX()函数可以求出表中某个字段取值的最大值。(MAX()函数是使用字符对应的ASCII码进行计算的)

MIN()函数可以求出表中某个字段取值的最小值。

未完待续

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值