- 常用基础指令:
SHOW DATABASES; #查看所有数据库
USE 库名; #进入相应的数据库中
SHOW TABLES; #查看数据库中的表
SELECT DATABASE(); #查看当前所在数据库
DESC 表名; #查看表的结构
- 查询表中数据项:
SELECT * FROM 表名; #从相应的表中查询所有数据项
SELECT 数据项 FROM 表名; #从相应的表中查询对应的数据项
SELECT 数据项1,数据项2,数据项3 FROM 表名; #从表中查询多个数据项
在Navicat中建立了一个如下的简单数据库test,创建了名为"employee"的表
利用select语句查询数据项:
SHOW DATABASES;
USE test;
SHOW TABLES;
SELECT employee_id,employee_name FROM employee;
也可以将SELECT后的数据项换成“ * ”号,来查询所有的数据项。
SELECT * FROM employee;
有时需要用“ ` ”键(键盘上1左边的字符)将数据项括起来用来区分数据项不是SQL的关键字。
也可以对数据项起别名:
1.便于理解;2.便于区分有重名的数据项。
#第一种方法
SELECT employee_name AS 员工名,employee_id AS 工号 FROM employee;
#第二种方法
SELECT employee_name 员工名,employee_id 工号 FROM employee;
去重操作:
比如表中的员工工资有三个重复记录,而我们只关注数值不关心个数,可以采用
SELECT DISTINCT salary FROM employee;
使用CONCAT(str1,str2,…)拼接字段:
SELECT CONCAT(employee_id," : ",employee_name) FROM employee
如果字段的相应记录中含有Null,那么用CONCAT进行字段拼接时该记录最终的结果全为Null。
USE test;
SHOW TABLES;
SELECT * FROM employee;
SELECT CONCAT(employee_id," : ",employee_name," : ",bonus_rate) FROM employee
可以用IFNULL(expr1,expr2)解决。其中expr1用来指定需要判断是否为Null的字段,expr2为当某条记录中的字段为Null时应赋值给该字段的值。
USE test;
SHOW TABLES;
SELECT * FROM employee;
SELECT CONCAT(employee_id," : ",employee_name," : ",IFNULL(bonus_rate,0)) FROM employee