数据库
mysql的常见命令
- 查看当前所有的数据库
show databases; - 打开指定的库
use + 库名 - 查看当前库的所有表
show table; - 查看其它库的所有表
show table from + 库名 - 创建表
creat table 表名{
列名 列类型,
列名 列类型,
…
} - 查看表结构
desc 表名; - 查看服务器版本
方式一:登录到mysql服务端
select version();
方式二:没有登陆到mysql服务端
mysql --version
mysql --V
基础查询
- 语法:
select 查询列表 from 表名
查询多个列表用逗号隔开
F10格式化 - 查询列表:
表中的字段、常量值、表达式、函数
查询的结果是一个虚拟表格 - 注意事项
用之前先加上 USE 库名 - 查询
select 100
select ‘asdf’
select 100+10
select VERSION(); - 字段起别名
select 100+10 as 结果
select 100+10 结果
优点:
可区分重复字段 - 去重
select distinct id from + 库名 - +号的作用:运算符
若一个是数值型字符,另一个是数值,系统自动将数值型字符转为数值进行运算
若一个是字符串型字符,另一个是数值,系统计算结果为将字符串型字符看作0
若其中一个为null,结果为null(可以用IFNULL进行判断)
条件查询
- 语法
select 查询列表
from 表名
where 筛选条件 - 分类
- 按条件表达式筛选:>,<,=,<>
- 按逻辑运算符筛选:and or not
- 模糊查询:
-
like 和通配符搭配使用
通配符: % 任意多个字符,包含0个字符
_任意单个字符 -
between and
between 100 and 120
包含临界值,临界值不可调换顺序 -
in 用于判断某字段的值是否属于in列表中的某一项
in( , , ,)
in列表的值类型必须统一或兼容 -
is null =,<>不能用于查询值
- 安全等于 <=> 用于判断是否等于,等于返回true
课后习题
题目
答案
SELECT `salary`,`last_name`
FROM `salaries`,`employees`
WHERE salary>12000;
SELECT `last_name`,`salary`
FROM `employees`,`salaries`
WHERE salary NOT BETWEEN 5000 AND 12000;
SELECT `last_name`
FROM `employees`
WHERE last_name LIKE '__a%';
SELECT `last_name`
FROM `employees`
WHERE last_name LIKE '%a%' OR '%c%';
SELECT `last_name`
FROM `employees`
WHERE last_name LIKE '%e';
中间几题由于数据库不同无法编写