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
文章评论