MySQL数据库

147 阅读6分钟

1.MySQL常见命令的使用(以;以结尾)

1.1 展示所有数据库 (show databases;);

image.png

1.2 使用数据库(use learntest;);

image.png

1.3 展示数据库中的表格(show tables;)

因为这个数据库里面还没有建立表,所有为空

image.png

我们可以看一下bishe数据库里面的表 可以通过:

show tables from bishedb

image.png

1.4 查看当前所在的库(select database();)

image.png

1.5 给数据库创建表 (create table;)

创建了一个名为stuInfo的表:

image.png

image.png

1.6 查看表的详细描述(desc stuInfo;)

image.png

1.7 查看表的详细数据(select * from stuInfo;)

image.png

1.8 插入表中的数据(insert into stuInfo(id,name) values(1,'liuxiaofeng');)

image.png

插入多条数据:

image.png

查看表的详细数据

select * from stuInfo;

image.png

1.9更新表中的数据(update stuInfo set name='xiaofengcool' where id =1;)

image.png

image.png

1.10 删除表中的数据(delete from stuInfo where id='3';)

image.png

1.11 查看当MySql数据库的版本(两种方法)

第一种:

select version();

image.png

第二种:

//在cmd命令窗口输入
mysql --version

image.png

2.MySQL语法规范

1.不区分大小写,建议关键字大写,表名、列名小写

2.每条命令最好用分号结尾

3.每条命令根据需要,可以进行缩进或者换行

4.注释: (1)单行注释:#注释文字 (2)单行注释:--注释文字 (3)多行注释:/* 文字 */

3.MySQL查询学习

3.1 基础查询(select 查询列表 form 表名;)

查询列表可以是表中的字段、常量值、表达式、函数

3.1.1 查询表中的字段

(1)查询表单中的单个字段

例子(查询员工的last_name):

image.png

(2) 查询表单中的多个字段

例子:

image.png

(3)查询表单中的所以字段(SELECT * FROM 表名)

3.1.2 查询表中常量值

SELECT 常量值;

image.png

3.1.3 查询表达式

SELECT 表达式;

image.png

3.1.4 查询函数

SELECT VERSION();

3.1.5 起别名

其别名的好处: 1.可以方便理解 2.如果要查询的字段有重名的情况,使用别名可以区分开来


SELECT 100%98 AS 结果;

image.png

SELECT last_name AS 姓,first_name ASFROM employees;

image.png

3.1.6 去重

案例:查询用工表中涉及到的所有部门编号;

SELECT department_id FROM employees;

image.png

去除重复的部门编号

SELECT DISTINCT department_id FROM employees;

image.png

3.1.7 +号的作用

mysql中的+号仅仅一个功能:运算符 案例:查询员工名和姓并且连接为一个字段,并显示为姓名

SELECT last_name +first_name AS 姓名 FROM employees;

image.png

上面这个原则上可以实现,但是因为+号只能作为运算符,不能用做连接符,所以需要用concat来实现字符串的连接,显示0的原因是字符串自动转化为0,0+0=0

3.1.8 concat()

可以实现字符串的连接

SELECT  CONCAT(last_name,first_name) AS 姓名 FROM employees;

image.png

3.1.9 排序 order

降序:

image.png

升序:

image.png

3.2 条件查询

一、条件运算符:

< = != <>(不等于推荐使用这个) >= <= image.png

image.png

二、逻辑运算符

&& ,|| ,and ,or, not 作用:用于连接条件表达式

image.png

image.png

三、模糊查询

1.like

一般和通配符搭配使用 通配符: 1.% 任意多个字符,包含0个字符 案例1:查询员工名中包含字符a的员工信息 image.png 2._ 任意单个字符 案例2:查询员工名中第三个字符为e,第五个字符为n的员工名和工资;

image.png 案例三:查询员工名中第二个字符为_的员工名 $为转义符 image.png 2.between and

注意:1.使用between and可以简洁代码 2.between and是包含两个值的 案例1:查询员工编号在100到120之间的员工信息(用between and)

image.png 3.in

in 用于判断某字段的值是否属于in列表中的某一项 特点: 实现代码简洁、in列表的值类型必须一致或兼容、

案例1:查询员工的工种编号是IT_PROG、AD_VP、AD_PRES的一个的员工名和工种编号

image.png 4.is null is null 仅仅可以判断null值 案例1:查询没有奖金的员工名和奖金率

image.png

有奖金:

image.png

day1作业:

1.查询工资大于12000的员工姓名和工资

image.png

2.查询员工号为176的员工的姓名和部门年号和年薪

image.png

3.选择工资不在5000到12000的员工的姓名和工资

image.png

4.选择在20或50号部门工作的员工姓名和部门号

image.png

5.选择公司中没有管理者的员工姓名及job_id

image.png 6.选择公司中有奖金的员工姓名,工资

image.png

7.选择员工姓名的第三个字母是a的员工姓名(模糊查询LIKE)

image.png

8.选择姓名中有字母a和e的员工姓名

image.png

9.显示出表employees中first_name'e'结尾的员工信息

image.png

10.显示出表employees部门标号在80到100之间的姓名、职位

image.png

11.显示出表employees的manager_id是100,101,110的员工姓名和职位

image.png

四、排序查询介绍

降序:

image.png

升序:

image.png

案例1:按年薪的高低显示员工的信息和年薪【按别名排序】

image.png 案例2;查询员工信息,要求先按工资排序,再按员工编号排序【按多个字段排序】

image.png

4.常见函数

调用:select 函数名(实参列表) 【form表】

4.1单行函数

length()、concat()、ifnull()

一、字符函数

1.LENGTH() image.png 2.concat()

image.png

3.upper()、lower() 转换为大写 image.png

转换为小写

image.png

4.substr()

image.png mysql中索引是从1开始 截取字符

image.png

5.instr

返回指定字符串的起始索引,找不到则返回0

image.png

6.trim()

去除前后空格 image.png

案例1:去掉指定的a

image.png 7.replace()

image.png

二、数学函数

1.round()四舍五入

image.png

2.CEIL 向上取整

image.png

3.floor()向下取整

4.truncate 截断 小数点后面保留一位

image.png

5.mod()取余

image.png

三、日期函数

1.now() 返回当前日期+时间 image.png

2.curdate()返回当前日期,不包含时间

image.png

3.curtime()返回当前时间

image.png

还有其它可以转换为年月日的函数,可以百度一下,也就是时间戳 4.DATADIFF

日期差值 image.png

四、其它函数

1.version()查看当前数据库版本

image.png 2.databases()查看当前使用的数据库

image.png

3.user()查看数据库用户名

image.png

五、流程控制制函数

1.if函数

if类似于三目运算,条件为true返回第一个,条件为false返回第二个 image.png

image.png

2.case(),类似于switch

case 要判断的字段或表达式 when 常量1 then 要显示的值1或语句1 when..... else 要显示的值n或语句n(当前面都不执行时执行) end

case后面也可以不跟参数

image.png image.png

4.2 分组函数

功能:用于统计使用,又称为聚合函数或统计函数或组函数 分类:sum求和,avg平均值,max最大值,min最小值,count计算个数 4.2.1简单使用

1.sum() 求和

image.png

2.avg() 求平均值

image.png

3.max() 求最大值

image.png 4.min() 求最小值

image.png

5.count() 统计数量

image.png 一般用count(*)统计总行数

image.png

也可以一起用

image.png

特点:

1.sum、avg一般处理数值型

2.max、min、count可以处理任何数值

3.以上分组函数均忽略null值

4.可以配合distinct使用

5.分组查询

语法:

image.png 案例1:查询每个工种的最高工资(单个字段查询)

image.png 案例2:查询每个部门每个工种的员工的平均工资(多个字段查询)

image.png

6.子查询

案例1:查询工资大于Abel的员工信息

image.png

目前项目暂时用到这些,后续需要则继续学习