文章目录
- 一、什么是数据库
- 二、数据库分类
- 三、数据库操作
- 1.创建数据库
- 2.查询数据库
- 3. 修改数据库
- 四、表结构操作
- 1.创建表
- 2.查询表
- 3. 修改表
- 4.删除表
- 五、表数据操作
- 1.添加数据
- 2.修改数据
- 3.删除数据
- 4. 查询数据
- 六、数据类型
一、什么是数据库
数据库(database):是按照数据结构来组织、存储和管理数据的仓库。
二、数据库分类
①关系型数据库
这种类型的数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。
②非关系型数据库
关系型数据库以外的统称为非关系型数据库,简称NoSQL(not only SQL)。从存储结构可以划分键值存储数据库(Redis)、列存储数据库(HBase)、面向文档数据库(MongoDB)、图形数据库(Neo4J)、搜索引擎存储(Elasticsearch)。
三、数据库操作
1.创建数据库
2.查询数据库
- 显示所有数据库
- 查看某个数据库的创建以及字符集
3. 修改数据库
- 修改数据库字符集
- 使用数据库
四、表结构操作
1.创建表
由于列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句.
2.查询表
①询某个数据中所有的表
②查询表结构
③查询表的创建SQ
3. 修改表
- 修改表名
alter table student rename to s1;
- 添加一列
alter table 表名 add (列名 列类型 [约束] , 列名 列类型 [约束] , ...... );
- 修改列名称跟类型
alter table 表名 change 原列名 新列名 新数据类型;
- 删除列
alter table 表名 drop 列名;
4.删除表
drop table 表名;
五、表数据操作
1.添加数据
insert into 表名 [(字段名1,字段名2......)] values (字段值1,字段值2,......);
- 列名跟值需要一一对应。
- 如果表名后没有跟指定字段则必须将全部所有字段值给出。
2.修改数据
update 表名 set 字段名1=新字段值1, 字段名2=新字段值2 ... [ where 条件]
如果不加任何条件,则会将表中所有记录全部修改。
3.删除数据
delete from 表名 [where 条件];
如果不加条件,则删除表中所有记录。
4. 查询数据
select 字段列表from表名列表
[where 条件列表]
[group by 分组字段列表]
[having 分组后的条件列表]
[order by 排序字段]
[`limit 分页限定]
① 普通查询
select 字段名1,字段名2... from 表名
如果查询表中的所有字段可以使用*号select * from 表名
② 条件查询
通过WHERE关键字 所有null值不会参与运算,如果需要参与可以使用IFNULL函数
> < >= <= <> !=
BETWEEN AND
is null、is not null
in 、not in
and 、or、not
like
用来进行模糊查询
占位符`_`表示任意一个字符
占位符`%`表示任意N个字符
六、数据类型
数值(整型/小数): int float(m,d) double(m,d)
m表示整个小数的总长度,d表示小数位的长度
也可以不给(m,d)值,直接使用float跟double,则默认会按照实际的精度(由实际的硬件跟操作系统决定)来显示。
(m,d)会采取四舍五入,因此会出现精度丢失的问题。
(m,d)的用法是非标准用法,如果要用于数据库的迁移,则最好不要这么使用
日期/时间:
DATE:表示日期,包含年月日
TIME:表示时间,包含时分秒
YEAR:表示年份
DATETIME:表示日期,包含年月日,时分秒
TIMESTAMP:表示日期,包含年月日,时分秒,自动更新
字符串(字符):
枚举
enum(可能出现的元素列表)