SQL的分类
- DDL:数据定义语言
CREATE\\ALTER\\RENAME(重命名)\\DROP\\TRUNCATE(清空表)
- DML:数据操作语言
INSERT\\DELETE\\UPDATE\\SELECT(增删改查)
- DCL:数据控制语言
COMMIT(提交)\\ROLLBACK(回滚)\\SAVEPOINT(把事物分的更细一点,回滚到哪一个点上)\\GRANT(授予权限)\\REVOKE(回收权限)
导入现有数据表的方式
方式一:再终端m采用命令行方式,输入命令:source 现有文件名的全路径;
方式二:基于具体的图形化界面工具可以导入数据
基本的select语句
# 1.基本的select查询:select 字段名1,字段名2... from 表名;
SELECT 1+1,2*3; # 像这种不需要从表中获取的可以省略from 表名 或者from 伪表
SELECT 1+1,2*3 FROM DUAL; # DUAL是一个伪表
SELECT * FROM employees; # 查询所有的列
SELECT salary FROM employees;
# 2.列的别名
# 别名可以加双引号(不要用单引号),也可以不加
# 别名可以前可以加个as,也可以不加
SELECT employee_id \'员工id\' FROM employees;
SELECT employee_id as \'员工id\' FROM employees;
# 3.去除重复行:DISTINCT关键字
SELECT DISTINCT department_id FROM employees;
# 4.空值参与运算
# 空值null
# null不等同于0,\"\",\"null\"
SELECT employee_id,salary \"月工资\",salary*(1+commission_pct)*12 \"年工资\",commission_pct
FROM employees;
# 解决方案:引入ifnull函数
SELECT employee_id,salary \"月工资\",salary*(1+IFNULL(commission_pct,0))*12 \"年工资\",commission_pct
FROM employees;
# 5.着重号:如果出现字段名或者表名和sql中的关键字重名了,就需要加着重号区分。
SELECT * FROM `order`;
# 6.查询常数
# 大学不存在表中,我们可以添加常量表示。
SELECT \"大学\",last_name FROM employees;
# 7.显示表结构
DESCRIBE employees;
DESC employees;
过滤数据语法
使用where关键字
SELECT * FROM employees
WHERE department_id=90;
sql运算符
- 算术运算符: + - * / %
在SQL中,+号没有连接的作用,就表示加法运算,与字符串进行相加减时会将字符串转为数值进行计算(隐式计算)
SELECT 100 + \'1\' FROM DUAL;
当字符串无法转为数值时,会转换为0计算
SELECT 100 + \'a\' FROM DUAL;
null值参与运算,结果为null
SELECT 100 + NULL FROM DUAL;
- 比较运算符:= != > < >= <= <=>
<=>意思是安全等于,主要是针对null值进行判断,两边都为null返回1,否则为0
like:模糊查询
%:代表不确定个数的字符(0个、1个、无数个)
:代表一个不确定的字符
:代表转义字符,_这时_就不代表一个不确定的字符了,就表示
正则表达式运算:详见mysql资料
-
逻辑运算符:not and or xor(逻辑异或)
-
位运算符:暂略
-
运算符的优先级:()=> not => and => or
来源:https://www.cnblogs.com/suncolor/p/17141980.html
本站部分图文来源于网络,如有侵权请联系删除。