- 持久化数据到本地
- 可以实现结构化查询,方便管理
- DB:数据库,保存一组有组织的数据的容器
- DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
- SQL:结构化查询语言,用于和DBMS通信的语言
- 将数据放到表中,表再放到库中
- 一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性
- 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计
- 表由列组成,也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
- 表中的数据是按行存储的,每一行类似于java中的“对象”
1.查看当前所有的数据库
show databases;
2.打开指定的库
use 库名
3.查看当前库的所有表
show tables;
4.查看其它库的所有表
show tables from 库名;
5.创建表
create table 表名(
列名 列类型,
列名 列类型,
……
);
6.查看表结构
desc 表名;
7.查看服务器的版本
- 登录到mysql服务端 select version();
- 没有登录到mysql服务端 mysql --version 或 mysql --V
DQL(Data Query Language):数据查询语言
select
DML(Data Manipulate Language):数据操作语言
insert 、update、delete
DDL(Data Define Languge):数据定义语言
create、drop、alter
TCL(Transaction Control Language):事务控制语言
commit、rollback
语法:
SELECT 【DISTINCT】要查询的东西#distinct 去重
【AS 别名】
【FROM 表名】;
特点:
①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在
② 要查询的东西 可以是常量值、表达式、字段、函数
函数: IFNULL: 判断某字段值是否为null,如果为null则返回指定的值(0),否则返回原本的值
SELECT IFNULL(employee_name,0) FROM employees ;
函数: ISNULL : 判断某字段值是否为null,如果为null则返回1,否则返回0
SELECt ISNULL(salary),salary FROM employees;2.2 条件查询
语法:
SELECt 要查询的字段|表达式|常量值|函数 FROM 表 WHERe 条件 ;2.2.1 条件表达式
示例:salary>10000
条件运算符:
> < >= <= = != <>
示例:salary>10000 && salary<20000
逻辑运算符:
and(&&):两个条件如果同时成立,结果为true,否则为false
or(||):两个条件只要有一个成立,结果为true,否则为false
not(!):如果条件成立,则not后为false,否则为true
示例:last_name LIKE 'a%'
通配符:
%:任意多个字符(包含0个)
_:任意单个字符
备注: 转义字符
SELECt last_name FROM employees WHERe last_name LIKE '_a_%';
指定任意字符为转义字符($可以为任意符号,关键字:escape):
SELECt last_name FROM employees WHERe last_name LIKE '_a$_%' ESCAPE '$';
BETWEEN AND : 包含临界值 ,且不能调换顺序
SELECt employee_id FROM employees WHERe employee_id >= 100 AND employee_id <= 120 ;
SELECt employee_id FROM employees WHERe employee_id BETWEEN 100 AND 120 ;
IN:判断某字段的值是否用于in列表中的某一项(列表中的值必须统一或者兼容)
SELECt employee_id FROM student WHERe employee_id IN(1,2,3,4);
IS NULL:只能判断某字段是否为NULL(=不能判断null值)
SELECt employee_name FROM employees WHERe salary IS NULL;
安全等于 <=> 即可以判断NULL值也可以判断普通的数值
补充:+
SELECt 数值+数值;结果
SELECT 数值+字符;试图将字符转换为数值,再相加;否则为0
SELECT null+任何数值;结果都为null
2.3 排序查询语法:
SELECT 要查询的东西 FROM 表 WHERe 条件 ORDER BY 排序的字段|表达式|函数|别名 【ASC|DESC】
ASC:升序 DESC:降序 (不写默认升序)
ORDER BY 子句一般放在最后面【LIMIT语句除外】
2.4 常见函数 2.4.1 单行函数1、字符函数
concat拼接
substr截取子串(注意:SQL语言中的索引从1开始)
SELECT SUBSTr('zttdqq',4);#从第4个开始截取到末尾
SELECT SUBSTr('zttdqq',1,3);#从第1个截取到底3个
upper转换成大写
lower转换成小写
trim去前后指定的空格和字符
ltrim去左边空格
rtrim去右边空格
replace替换
lpad左填充
rpad右填充
instr返回子串第一次出现的索引
length 获取字节个数
2、数学函数
round 四舍五入
rand 随机数
floor向下取整
ceil向上取整
mod取余
truncate截断
3、日期函数
now当前系统日期+时间
curdate当前系统日期
curtime当前系统时间
str_to_date 将字符转换成日期
date_format将日期转换成字符
4、流程控制函数
if 处理双分支
case语句 处理多分支
情况1:处理等值判断
情况2:处理条件判断
5、其他函数
version版本
database当前库
user当前连接用户



