实现数据持久化
DB:数据库
存储数据的仓库,其本质为一个文件系统。保存了一系列有组织的数据。
DBMS:数据库管理系统
是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。
SQL:结构化查询语句
专门用来与数据库通信的语句。
E-R模型中有三个主要概念:实体集、属性、联系集
一个实体集(class) <> 一个表(table)
一个实体(instance) <> 数据库表中的一行(row)/ 一条记录(record)
一个属性(attribute) <> 数据库表中的一列(column)/ 一个字段(field)
两种建表原则:
DDL(数据定义语言)
定义不同的数据库、表、视图、索引等数据库对象,可用来创建、删除、修改数据的数据表的结构。
DML(数据操作语言)
用于添加、删除、更新和查询数据库记录,并检查数据完整性。
DCL(数据控制语言)
用于定义数据库、表、字段、用户的访问权限和安全级别。
单行注释:#
单行注释:-- 注释文字
多行注释:/* */
方式一:source 文件的全路径名
方式二:基于具体的图形化界面导入数据
SELECT 1;
通配符(*),不建议使用
# 选择全部字段
SELECT *
FROM department;
选择特定的列:
SELECT departments.department_id,departments.location_id
FROM departments
1.使用关键字AS(AS也可省略)
SELECT employees.last_name AS name , employees.commission_pct comm
FROM employees
2.别名使用双引号
SELECT employees.last_name "name"
FROM employees
默认情况下,查询会返回全部行,包括重复行。
方法:使用DISTINCT关键字去除重复行
SELECT DISTINCT employees.department_id
FROM employees;
错误行为:
SELECT employees.salary,DISTINCT employees.department_id
FROM employees;
无意义行为:
SELECT DISTINCT employees.department_id,employees.salary
FROM employees;
SELECT employees.employee_id, employees.salary "月工资", employees.salary * ( 1 + employees.commission_pct ) * 12 "年工资"
FROM employees
SELECT employees.employee_id, employees.salary "月工资", employees.salary * ( 1 + IFNULL(employees.commission_pct,0) ) * 12 "年工资"
FROM employees
SELECT "尚硅谷" , employees.first_name
FROM employees;
DESCRIBE employees;
DESC employees;
过滤条件在FROM后面
SELECT *
FROM employees
WHERE employees.last_name = 'King'
$第三章练习:
# 查询员工12个月的工资总和,并起别名ANNUAL SALARY
SELECT employees.employee_id , employees.last_name , employees.salary * 12 "ANNUAL SALARY"
FROM employees;
# 查询employees.salary表中去除重复的employees.job_id以后的数据
SELECT DISTINCT employees.job_id
FROM employees;
# 查询工资大于12000的员工姓名和工资
SELECT employees.last_name , employees.salary
FROM employees
WHERE employees.salary > 12000
# 查询员工号为·176的员工的姓名和部门号
SELECT employees.last_name , employees.department_id
FROM employees
WHERE employees.employee_id = 176;
# 显示表departments的结构·,并查询其中的全部数据
DESCRIBE departments;
算术运算符主要用于数学运算,其可以连接运算符前后的两个数字或表达式,对数字或表达式进行+、-、*、\、%。