文章目录
1 .库操作
1.1 创建库
create database name;
1.2 查看库
#查看mysql上有哪些库
SHOW DATABASES;
#查看具体库的信息
SHOW CREATE DATABASE name;
1.3 选择库
USE DATABASE name;
1.4 查看mysql的版本
SELECT VERSION();
2.查询表命令
# 查询employees中所有人的名字
SELECT first_name from employees;
## 查询employees中所有人的first_name,last_name
SELECT first_name,last_name
FROM employees;
# 查询employees中所有人的信息
# * 代表所有字段
SELECT *
FROM employees;
#给字段取别名
#给字段起别名
/*
方式一 : 字段名 as 别名
方式二 : 字段名 别名
注意 : 如果别名中间有空格,那么别名必须使用""括起来。
*/
SELECT first_name AS fname
FROM employees;
SELECT first_name fname
FROM employees;
SELECT first_name "f name"
FROM employees;
在sql中的select 相当于输出语句
#可以理解成输出语句
SELECT 10;
SELECT 10+20;
SELECT 20+30 FROM DUAL; # dual是伪表,不是一个真实的表。
#字符串和整型做运算,如果字符串可以转成数值那就转成对应的数值,如果不能转那么就是0
SELECT "10"+10;
SELECT "aa"+10;
#null和任意值做运算结果还为null
SELECT NULL+10;
3 过滤
#查询department_id 为90 的员工的信息
SELECT *
FROM employees
WHERE department_id = 90;
#查询薪水大于5000的所有员工的姓名和薪水。
SELECT first_name,salary
FROM employees
WHERE salary > 5000;
#查询部门不等于100的所有人的部门号
SELECT department_id
FROM employees
WHERE department_id <> 100;
# 或者
SELECT department_id
FROM employees
WHERE department_id != 100;
#查询薪水大于等于5000并且小于等于8000的所有员工的薪水
SELECT salary
FROM employees
WHERE salary >= 5000 AND salary <= 8000;
SELECT salary
FROM employees
WHERE salary BETWEEN 5000 AND 8000;
#查询department_id为50,90,100的员工的部门号
SELECT department_id
FROM employees
WHERE department_id IN (50,90,100);
#选择工资不在5000到12000的员工的姓名和工资
SELECT first_name,salary
FROM employees
WHERE salary not BETWEEN 5000 AND 12000;
4 模糊查询:like
#查询员工的名字中带有a字符的员工姓名
SELECT first_name
FROM employees
WHERE first_name LIKE '%a%';# % 代表任意个数字符
#查询员工的名字中第二个字符是a的员工的姓名
SELECT first_name
FROM employees
WHERE first_name LIKE `在这里插入代码片`'_a%';#_代表任意一个字符
#查询员工的名字第二个字符是_的员工的姓名
SELECT first_name
FROM employees
WHERE first_name LIKE '_\_%'; # \_ 表示的就是_
SELECT first_name
FROM employees
WHERE first_name LIKE '_$_%' ESCAPE '$'; # escape 指定使用谁作为转义字符。
#查询员工的名字中包含a和e字符的员工姓名
SELECT first_name
FROM employees
WHERE first_name LIKE '%a%e%'
OR first_name LIKE '%e%a%';
#查询员工奖金率为null的员工的信息(名字,奖金率)
SELECT first_name,commission_pct
FROM employees
WHERE commission_pct IS NULL;
#查询员工奖金率不为null的员工的信息(名字,奖金率)
SELECT first_name,commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
5 排序
#获取所有的员工信息,薪水从小到大排序
SELECT *
FROM employees
ORDER BY salary ASC;
#asc 是升序(默认),desc 为降序
#获取所有员工信息,安照部门号进行排序(从小到大),如果部门id相同薪水降序。
SELECT *
FROM employees
ORDER BY department_id ASC,salary DESC;
6 函数
#lower : 将所有的字符变成小写
SELECT LOWER("HeLLo");
#upper : 将所有的字符变成大写
SELECT UPPER("HeLLo")