增删改查
DDL:数据定义。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATE
DML:数据操作。INSERT \ DELETE \ UPDATE \ SELECT(DQL)
DCL:数据控制。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE
TCL:事务掌控。COMMIT \ ROLLBACK
基本规则
1,为了提高可读性,子句分行,必要时缩进。
2,每条命令以 ; 或 \G 结束
3,标点符号成对出现
4,字符和日期时间类型的数据使用 ‘’
5,使用英文半角
6,列的别名使用 “”
书写规范
Windows大小写都可,Linux必须大写
小写:数据库名,表名,表别名,字段名,字段别名等
大写:SQL,关键字,函数名,绑定变量等
最基本的查询语句
语法:SELECT 字段 FROM 表名
举例:SELECT * FROM customers ——> 从customers里查询所有
查询后得到的结果被称为结果集
1,列的别名
AS ——> ALIAS 变更结果集的列名
语法一:SELECT 字段+AS+别名 ——>加AS——>SELECT customers AS cstm
语法二:SELECT 字段+“别名” ——>加双引号“”——>SELECT customers “cstm”
DISTINCT 去重
未去重
USE sql_store
SELECT customer_id AS cst_id
FROM customers
去重
USE sql_store
SELECT DISTINCT customer_id AS cst_id
FROM customers
2,空值NULL参与运算
作用:表示现在还不知道
NULL不等于零
空值参与运算,结果为NULL
解决方案:引入IFNULL
3,着重号
作用:关键字与字段冲突时使用,如:ORDER添加着重号变为`ORDER`
4,查询常数
作用:在查询结果中添加一列常数
用法:
SELECT '常数' , customer_id , last_name , city
FROM customers
5,显示表结构
作用:显示表字段的详细信息
语法:DESCRIBE 表名
6,WHERE过滤数据
举例:
SELECT *
FROM customers
WHERE city = 'Chicago'
chicago大小写都可
7,去除相同数据
作用:保留一个,去除剩下的有相同字段的行
语法:DISTINCT 需要删除的表名
练习
1,假如顾客每个月获取的积分相同,查询顾客12个月积分总和,并取名为预计积分
SELECT last_name , points , points*12 AS “预计积分”
FROM customers
2,数据库中去除在同一city居住的顾客
SELECT DISTINCT city
FROM customers
3,查询积分大于1000的顾客
SELECT last_name , points
FROM customers
WHERE points > 1000
4,显示表customers的结构并查询所有数据
DESC customers;
SELECT *
FROM customers