数据库
保存数据 保存到一个文件当中 对处理进行持久化
使用简单的命令 就可以实现增删改查
数据库系统 可以操作数据库的应用程序
DDL 数据库定义语句
create alter drop
DML 数据库操作语句
insert update delete
DQL 数据库查询语句
select
注意:
SQL语句 不区分大小写
SQL语句 以;分号结束
熟悉安装数据库
数据库进入指令: mysql -uroot -p
DDL 数据定义语句
数据库操作库 表 列
1.查询当前服务器所有数据库:
show databases;
2.创建一个数据库:
create database + 数据库名;
3.指定查询一个创建的数据库(可查询该数据库的编码格式):
show create database + 数据库名;
window 默认的数据库编码格式 --- utf8
mac 初始默认数据库编码格式 --- latin1 (不能插入中文)
4.创建数据库 并指定字符集:(多使用utf8编码格式)
create database 数据库名 character set 字符集;
可以创建文件(数据库的默认配置文件)修改数据库创建时的默认字符集
5.查看字符集的所有校验规则:
每一个编码格式 都有一个对应的校验规则
show character set;
6.创建数据库 指定字符集和校验规则: (collate 校验)
show create database 数据库名 character set 字符集名 collate 校验规则;
注意: 校验规则要与字符集对应上
7.修改数据库:(alter 更改)
修改编码格式
alter database 数据库名 character set + 字符集;
8.删除数据库:(drop 删除)
drop database 库名;
9.查看当前使用的数据库:
select database();
若显示null 则表示没有正在使用的数据库
切换数据库:
use 数据库名;
退出数据库:
quit;
表的操作:
创建一张表: (注意最后的字段 没有逗号)
create table 表名(
字段1 字段类型,
字段2 字段类型,
......
字段3 字段类型
);
常用数据类型:
int: 整型
double: 浮点型 例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
char: 固定长度字符串类型
char(10) 长度为10的字符串 效率高,但是浪费空间
varchar: 可变长度字符串类型
varchar(10) 系统会自动判断 去掉空值,省空间 但是效率相对char较低
date: 日期类型 yyyy-MM-dd
timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值(当前系统时间) 可以直接插入null
不想使用默认系统时间 可以直接用字符串插入 '2018-06-11'
text: 大文本类型
blob: 字节类型
注意: 数据不直接存文件/相片/音频... 存文件的保存路径(字符串)
查看表结构:
desc 表名;
查看整张表的内容: (* 标识所有字段)
select * from 表名;
修改表: (alter)
格式 --- alter table 表名 + 关键词 + 字段名+类型
1.添加一个字段(add)
alter table 表名 add 字段名+类型;
2.修改一个字段的长度(modify)或类型
alter table 表名 modify 字段名+修改长度的类型;
3.删除一个字段(drop)
alter table 表名 drop 字段名;
4.查看表的创建细节
show create table 表名;
5.修改表名
rename table 旧表名 to 新表名;
6.修改字段名
alter table 表名 change 旧字段名 新字段名 新字段名的类型;
DML 操作表数据
1.表中插入数据: (insert)
方式一: (只要字段与值相对应即可 没有填写的字段 默认为空)
格式:
insert into 表名 (字段1,字段2,...) values
(值1,值2,...);
注意: 字段与值的顺序和类型 要一一对应
如果该字段 没有值 使用null代替
方式二: (批量插入)
格式:
insert into 表名 values
(值1,值2,...),
(值1,值2,...),
...,
(值1,值2,...);
注意: 方式二 不可以只插入部分字段
2.修改(更新)表数据 (update)
格式: 修改多个值 用逗号,隔开 ---(符合while的字段和值将会被修改)
update 表名 set 字段1=值1,字段2=值2,...,字段x=值x where 字段=值;
注意: 如果不写where 所有字段都会被修改
3.删除操作 (delete)
删除一条记录:
delete from 表名 where 字段=值;
删除表中所有数据:
delete from 表名;
使用truncate删除表中记录:
truncate table 表名;
注意:
delete删除 是一条记录一条记录的删除
并且如果删除错误 数据可以进行回滚(找回)
删除效率相对较低
truncate table 表名;
truncate删除时 是将整个表删除
重新创建一张跟原来字段相同的表
删除效率高 但是无法找回