1.SQL语句的分类:
DDL:数据定义语言。CREATE / DROP / RENAME重命名 / TRUNCATE清空表,但结构还在
DML:数据操作语言。INSERT / DELETE / UPDATE / SELECT
DCL:数据控制语言。COMMIT / ROLLBACK / SAVEPOINT / GRANT / REVOKE
2.SQL语句的基本规则
(1)各字句分行写,必要时使用缩进
(2)每条命令以;或\G或\g结束
(3)关键字不能被缩写也不能被分行
(4)字符串型和日期时间类型的数据可以使用单引号‘’表示
(5)列的别名,尽量使用双引号
3.SQL语句推荐的大小写书写规范
数据库名、表名、表列名、字段名、字段别名等都小写
SQL关键字、函数名、绑定变量等都大写
4.SQL语句的注释书写规范
单行注释:# 注释文字(mysql特有)
单行注释:-- 注释文字(注意:--后面必须包含一个空格)
多行注释: /* 注释文字*/
5.导入现有的数据表、表的数据
方式1:source 文件的全路径名(在命令行书写)
方式2:基于具体的图形化界面工具可以导入数据
SQL-yog中:点击左上角:工具-执行SQL脚本-选择SQL文件的对应路径
6.最基本的SELECT语句:
SELECT 字段1,字段2 ...
FROM 表名
例如:
SELECT DISTINCT * FROM employees;
SELECT employee_id FROM employees;
# *:表中所有的字段(或列)
# DISTINCT:去除重复元素
7.列的别名
1.as:全称是alias(别名),可以省略
2.列的别名可以使用一段"" 引起来,不要使用单引号
如 将employee_id改名为emp_id
SELECT employee_id emp_id,last_name,department_id
FROM employees;
8.去除重复行:DISTINCT关键字
#查询员工表中一共有哪些id?
SELECT DISTINCT department_id
FROM employees;
SELECT DISTINCT department_id,salary
FROM employees;
9.空值参与运算
空值:null
null不等同于0,''," "
空值参与运算,结果一定也为null
*/
SELECT employee_id,salary "月工资",salary*(1+commission_pct)*12 "年工资",commission_pct
FROM employees;
#实际问题解决方案
SELECT employee_id,salary "月工资",salary*(1+IFNULL (commission_pct,0))*12 "年工资",commission_pct
FROM employees;
10.着重号 ``
例如:order是排序关键字,但已有order表时,要使用时,需要加着重号,如`order`
SELECT * FROM `order`;
11.查询常数
SELECT '尚硅谷',123,employee_id,last_name
FROM employees;
12.显示表结构 DESCRIBE或DESC命令
DESCRIBE employees; #显示了表中字段的详细信息
DESC departments;
13.过滤数据WHERE,声明在from结构后面
#查询90号部门的员工信息
SELECT * FROM employees
WHERE department_id=90;
#查询last_name为'king'的员工信息
SELECT *FROM employees
WHERE last_name='king';
声明:文中所用数据案例来源于B站教程-尚硅谷-mysql从入门到高级