MySQL基本规则
必须遵守
-
SQL可以写在一行或者多行中,但是每条语句必须用
;
、\g
、\G
结尾select * from employees where employees.id = 1;
-
关键字不能被缩写也不能分行
-
标点符号
- 所有的
()
、''
、""
都是成对存在的 - 必须使用英文的标点符号(半角符号)
- 字符串类型和日期类型的数据可以使用
''
表示 (MySQL中不够严谨,因此单引号和双引号不做区分) - 列的别名需要用
""
表示,不建议省略as
- 所有的
建议遵守
- MySQL在windows中是大小写不敏感的
- MySQL在Linux下是大小写敏感的(Oracle无论是windows还是Linux都是大小敏感的)
- 数据库名、表名、表的别名、变量名是严格区分大小写的
- 关键字、函数名、列名、列的别名是忽略大小写的
- 建议:
- 数据库名、表名、表的别名、字段名、字段别名等都小写
- SQL关键字、函数名、绑定变量都大写
注释方式
三种注释方式
-
推荐使用
#
表示注释# 第一种方式#单行注释 # 我是注释 /* 我是段落注释 */ -- 我也是单行注释 select * from employees
导入sql文件
# source 文件的全路劲名
source d:\atguigudb.sql;
基本select语句
-
基本的select语句
SELECT 1 + 2,2 * 3; SELECT 1 + 2,2 * 3 FROM DUAL; # 伪表
结果:
# 查询所有数据 SELECT * FROM employees; # 查询指定数据 SELECT first_name, last_name FROM employees;
-
列的别名
# 指定列的别名 # 特别注意,如果别名中有空格,需要将别名用""包含起来,不然会报错 SELECT first_name AS fname, last_name AS lname from employees;
结果:
-
去重
# 查询员工的所有部门 SELECT department_id from employees WHERE department_id IS Not NULL;
# 引入去重 SELECT DISTINCT department_id from employees WHERE department_id IS Not NULL;
-
空值null参与运算
空值null参与计算结果都是null (包括数字运算和逻辑运算),只有使用安全不等才能得到返回值
# 1 * null => null # 'a' = null => null # 'a' != null => null # null = null => null # null <=> null => 1 select
-
着重
''
与MySQL中系统变量、关键词冲突的需要使用着重号
''
select * from `order`
-
查询常数
select '旺旺',123,employee_id,last_name,first_name from employees;
-
显示表结构
DESC employees;
-
过滤数据
# 查询10号部门的员工 SELECT employee_id,first_name,last_name from employees WHERE department_id = 90;