文章目录

  • 一、什么是数据库
  • 二、数据库分类
  • 三、数据库操作
  • 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.创建表

关系型数据库工具 关系型数据库教程_字段_02

由于列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句.
2.查询表

关系型数据库工具 关系型数据库教程_关系型数据库工具_03

①询某个数据中所有的表
②查询表结构
③查询表的创建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:表示日期,包含年月日,时分秒,自动更新

字符串(字符):

关系型数据库工具 关系型数据库教程_表名_04


枚举

enum(可能出现的元素列表)