MySQL基本SELECT语句
基本SELECT语句
SQL分类
DDL(数据定义语言)
CREATE \ ALTER \ DROP \ RENAME \ TRUNCATE(创建,修改数据库对象)
DML(数据操作语言)
INSERT \ DELETE \ UPDATE \ SELECT(增,删,改,查)
DCL(数据控制语言)
COMMIT \ ROLLBACK \ SAVEPOINT \GRANT \ REVOKE
SQL语言的规则与规范
基本规则
一行可以写一句也可以写多行
每条命令以“;”或是“\g”,“\G”结束
关键字不能缩写和分开
标点符号
- 字符串型和日,期时间类型用''表示
- 列的别名,用""不建议省略
SQL大小写规范
-
MyAQL在window下不敏感
-
MySQL在Linux下敏感
-
推荐采用一般的书写规范
1.数据库名,表名,表别名,字段名,字段别名都用小写 2.SQL关键字,函数名,绑定变量等用大写
注释
-
...
- -- ...(空一格)
- /* ... */
命名规则(以后细说)
- 不超过30个字符
数据导入指令(导入现有数据表、表的数据)
- 命令行: source 文件的全部路径
- 基于具体的图形化界面的工具可以导入:SQLyog中是选择“工具”--“执行sql脚本”--选中即可
基本语句
SELECT ... FROM
SELECT (字段1),(字段2) #标识那些列
FROM(表名);#标识从哪个表里选择
*:表示所有的字段(或列)
eg:SELECT * FROM employees;(全部打印出来)
列的别名(见名知意)
重命名一个列,便于计算
仅限列名,也可以在列名和别名之前加关键字AS,别名使用双引号,以便在别名中包含空格或特殊字符并区分大小写
AS可以省略
结果集的列名也会改变
去除重复行
SELECT DISTINCT department_id #查询有多少个部门
FROM employees;
空值参与运算
空值:null
null不等于0,' '和'null'
错误
SELECT id,salary "月工资",salary*(1+commission)*12 "年工资"
FROM employees;
改正
SELECT id,salary "月工资",salary*IFNULL(1+commission,0)*12 "年工资"
#IFNULL:是null按0算,不是null按commission的数值来算
FROM employees;
空值参与运算,结果也为空
着重号
表名字段与关键字等相同
`表名,字段`
查询常数
SELECT DISTINCT '公司',id
FROM employees;
显示表结构
DESCRIBE employees;#显示了表中字段的详细信息
DESC employees;
两种都可以
过滤数据
查询满足条件的数据
select * from employees
WHERE id = 1001;#查询id是1001的信息