优点:
1.可将数据持久化到硬盘
2.可存储大量数据
3.方便检索
4.保证数据的一致性、完整性
5.安全,可共享
6.通过组合分析,可以产生新数据
1.DB:数据库( database ):存储数据的“仓库”。它保存了一系列有组织的数据。
2.DBMS:数据库管理系统( Database Management System )。数据库是通过 DBMS 创
建和操作的容器
3.SQL:结构化查询语言( Structure Query Language ):专门用来与数据库通信的语
言。
1.将数据放到表中,表再放到库中
2.一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
3.表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。
4.表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
表中的数据是按行存储的,每一行类似于java中的“对象”
1.DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;create/drop/alter
2.DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);insert/update/delete
3.DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;事务
4.DQL(Data Query Language):数据查询语言,用来查询记录(数据)。select
语法:
select 查询列表 from 表名;
特点:
1、查询的结果集 是一个虚拟表
2、select 查询列表 类似于System.out.println(打印内容);
select后面跟的查询列表,可以有多个部分组成,中间用逗号隔开
3、执行顺序
① from子句
② select子句
4、查询列表可以是:字段、表达式、常量、函数等
SELECT 100 ;
SELECT 100%3;
SELECT `last_name` FROM `employees`;
SELECT `last_name`,`email`,`employee_id` FROM employees;
SELECT * FROM `employees`;
SELECT DATABASE();
SELECT VERSION();
SELECT USER();
方式一: 使用as关键字
SELECT USER() AS 用户名;
SELECT USER() AS "用户名";
SELECT USER() AS '用户名';
SELECT last_name AS "姓 名" FROM employees;
方式二: 使用空格
SELECT USER() 用户名;
SELECT USER() "用户名";
SELECT USER() '用户名';
SELECT last_name "姓 名" FROM employees;
– 需求:查询 first_name 和last_name 拼接成的全名,最终起别名为:姓 名
方案1: 使用+ 拼接字符串是错误的
SELECT first_name+last_name AS "姓 名"
FROM employees;
方案2: 使用concat拼接函数
SELECT CONCAT(first_name,last_name) AS "姓 名"
FROM employees;
①两个操作数都是数值型
100+1.5
②其中一个操作数为字符型
将字符型数据强制转换成数值型,如果无法转换,则直接当做0处理
'张无忌'+100===>100
③其中一个操作数为null
null+null====》null
null+100====》 null
需求: 查询员工涉及到的部门编号有哪些
SELECT DISTINCT department_id FROM employees;
DESC employees;
SHOW COLUMNS FROM employees;
IFNULL(表达式1,表达式2)
1.表达式1:可能为null的表达式/字段
2.表达式2:如果表达式1为null,则最终结果显示的值
功能:
如果表达式1显示为null,则显示表达式2,否则显示表达式1
SELECT IFNULL (字段名称,"字段为空显示什么") FROM 表名