目录

前言

一.数据库的操作

1.1显示当前数据库

1.2创建数据库

1.3使用数据库

1.4删除数据库

二.数据类型

2.1数值类型

2.2字符串类型

2.3日期类型

三.数据表的操作

3.1创建表结构。

3.2查看数据库中拥有的数据表

3.3查看指定的表结构

3.4修改表结构

3.5删除表结构

总结


个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主
梦的目标:努力学习,打败数据库,拼搏一切,让自己的未来不会有遗憾。
欢迎各位→点赞 +收藏⭐ +评论+关注
本章讲解内容:数据库的操作 以及 表结构的操作(DDL)

使用:MySQL 数据库

前言

一般数据库分为两种,关系型数据库和非关系型数据库。而我们使用MySQL操作的是关系型数据库。

SQL分类:

  • DDL数据定义语言,用于维护存储数据的结构。代表指令:create,drop,alter
  • DML数据操纵语言,用于对数据进行操作。代表指令:insert,delete,updatDML中又单独分了一个DQL,数据查询语言,代表指令:select
  • DCL数据控制语言,主要负责权限管理和事物。代表指令:grant,revoke,commit

接下来通过对数据库、表进行操作,来理解。

注:在MySQL当中,不区别大小写

一.数据库的操作

1.1显示当前数据库

显示当前数据库,显示的是 目前为止 所拥有的数据库。

语法格式:SHOW DATABASES;

注:MySQL中会有4个自带的,因此千万不能操纵这4个数据库。否则可能会导致MySQL异常,需要重新安装。

1.2创建数据库

创建有3种方式

  1. 创建一个新的数据库,用于存放数据。语法格式:CREATE DATABASE 数据库名;
  2. 创建一个数据库,不确定是否存在。 (使用IF NOT EXISTS 如果存在则不创建)语法格式:CREATE DATABASE IF NOT EXISTS 数据库名;
  3. 创建一个指定字符集的数据库,不确定是否存在。语法格式:CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 字符集名;

注:1.如果创建的数据库没有指定字符集时,默认为utf8

2.由于MySQL的utf8编码不是真正的utf8,它不包含某些复杂的中文字符,建议使用utf8mb4

3.字符集一般使用两种,gbk和utf8,不同的字符集,字符排序是不一样的。 gbk使用2个字节代表一个中文,utf8使用3个字节代表一个中文。

创建实例图:

1.3使用数据库

此方式,更加趋向于,指定数据库,然后对其进行其他操作。

语法格式:use 数据库名;

1.4删除数据库

语法格式:drop database 数据库名;

此操作,将数据库彻底删除,包含存储在数据库中的表和数据。慎之又慎!!!


二.数据类型

数据表里存放的数据是需要数据类型的。而数据库的数据类型和编程语言的数据类型不同,因此需要单独的学习。

可是有人会说怎么麻烦,为什么不通用呢?因为数据库出现的时间比Java语言早。

2.1数值类型

数值分为整型和浮点型。

数据类型大小说明对应的java类型
BIT [(M)]M指定位数,默认为1二进制数,M范围1到64,存储数值范围从0到2^M-1默认为1时,对应Boolean
TINYINT1字节Byte
SMALLINT2字节Short
INT4字节Interger
BIGINT8字节Long
FLOAT(M,D)4字节单精度,M指定长度,D指定小数位数Float
DOUBLE(M,D)8字节Double
DECIMAL(M,D)M/D最大值+2双精度,M指定长度,D指定小数位数BigDecimal
NUMERIC(M,D)M/D最大值+2双精度,M指定长度,D指定小数位数BigDecimal

注:1字节(bytes)=8bit。 数值类型可以指定为无符号,表示不取负数。

2.2字符串类型

数据类型大小说明对应的java类型
VARCHAR(SIZE) 0 —— 65,535字节可变长度字符串String
TEXT 0 —— 65,535字节长文本数据String
MEDIUMTEXT 0 —— 16 777 215 字节中等长度文本数据String
BLOB 0 —— 65,535字节二进制形式长文本数据byte[ ]

2.3日期类型

数据类型大小 说明对应的java类型
DATETIME 8字节范围从1000到9999年,不会进行时区的检索及转换。java.util.Date、java.sql.Timestamp
TIMESTAMP 4字节范围从1970到2038年,自动检索当前时区并进行转换java.util.Date、java.sql.Timestamp

一般使用DATETIME。


三.数据表的操作

需要操作数据表,我们需要先选择数据库: use 数据库名;

3.1创建表结构。

语法格式:create Table 表名(

字段名1 数据类型[列级完整性约束],

————————- [列级完整性约束],

字段名n 数据类型 [列级完整性约束],

);

列级完整性约束:

  • NOT NULL :限制列取值不为空。
  • DEFAULT: 给定列的默认值。
  • UNIQUE:限制列的取值不重复。
  • CHECK:限制列的取值范围。
  • PRIMARY KEY:指定本列为主码。
  • FREIGN KEY :定义本列为引用其他表的外码。

注:列级完整性约束 可不用 定义,目前刚刚接触,之后会有更详细讲解。

comment—>注释,可加可不加。且中文需要英文的单引号包括

讲解:

3.2查看数据库中拥有的数据表

语法格式:show tables;

3.3查看指定的表结构

语法格式:desc 表名;

讲解:

3.4修改表结构

对数据表的结构进行修改。

1.修改列的数据类型定义:alter table 表名 MODIFY 字段新字段类型;2.修改列名 :alter table 表名CHANGE COLUMN 旧字段名新字段值 字段类型; 3.更改表名:alter table表名 RENAME 新表名;

4.添加列:alter table 表名add 字段名字段类型;

1.修改列的数据类型定义

2.修改列名

3.更改表名

4.添加列


3.5删除表结构

1.将数据表彻底删除:drop 表名;

2.删除数据表字段:2种,第一种删除单列:ALTER TABLE 表名DROP 字段;

第二种删除多列: ALTER TABLE 表名 DROP 字段1,字段2;

删除字段book_price之后,表中便无此字段。

总结

理解方式:数据库——>仓库数据表——> 存放在仓库中已分类好的货物,数据库包含数据表。

而数据库的操作步骤:

1.用户在客户端输入 SQL。2.客户端会把 SQL 通过网络发送给服务器 3.服务器执行这个 SQL把结果返回给客户端4.客户端收到结果,显示到界面上