导入数据表
方式1: source 文件的全路径名 在dos窗口中使用
如 SOURCE F:\Users\zzz\Desktop\atguigudb.sql
方式2: 基于具体的图形化工具可以导入数据
select语句
最基本的select语句 SELECT 字段1,字段2...FROM 表名
SELECT * FROM employees;
"*"表示表中所有的字段(或列)
列的别名
SELECT employee_id "eid" ,last_name l_name,salary AS 工资 FROM employees;
都支持中文
last_name l_name 列名与别名用逗号隔开
employee_id "eid" 别名可以用""双引号圈起来。双引号的作用是让别名中可以存在空格,不要使用单引号!
但是字符串、日趋时间类型的变量需要使用一对''表示
salary AS 工资 也可以通过AS关键字取别名
去除重复行
- distinct
#去重前
SELECT department_id FROM employees;
#正确去重后
SELECT DISTINCT department_id FROM employees;
#错误去重,原因:因为去重后salary行数和id行数不对应
SELECT salary,DISTINCT department_id FROM employees;
#修改后,仅仅是没有报错,但是没有实际意义。
SELECT DISTINCT department_id ,salary FROM employees;
空值参与运算
#空值参与运算
#空值:null
#null不等同与0,'','null'
#空值参与运算结果也一定为空
SELECT employee_id,salary "月工资",salary * (1 + commission_pct)*12 "年工资" FROM employees;
#实际解决方案
SELECT employee_id,salary "月工资",salary * (1 + IFNULL(commission_pct,0))*12 "年工资" FROM employees;
着重号
当列名与关键字重名是使用 " `` "
查询常数
SELECT "工资", employee_id,salary "月工资",salary * (1 + IFNULL(commission_pct,0))*12 "年工资" FROM employees;
现实表结构
显示了表中字段的详细信息
DESCRIBE employees;
DESC employees;
过滤数据
where就不讲了