百木园-与人分享,
就是让自己快乐。

SQL的分类、导入现有数据表的方式、基本的select语句、过滤数据语法、sql运算符

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

image

like:模糊查询

%:代表不确定个数的字符(0个、1个、无数个)
:代表一个不确定的字符
:代表转义字符,_这时_就不代表一个不确定的字符了,就表示

正则表达式运算:详见mysql资料

  • 逻辑运算符:not and or xor(逻辑异或)

  • 位运算符:暂略

  • 运算符的优先级:()=> not => and => or


来源:https://www.cnblogs.com/suncolor/p/17141980.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » SQL的分类、导入现有数据表的方式、基本的select语句、过滤数据语法、sql运算符

相关推荐

  • 暂无文章