【数据库】MySQL数据库基础
目录
1.数据库的操作
1.1 显示当前的数据库
1.2创建数据库
1.3使用数据库
1.4删除数据库
2.常用数据类型
2.1数值类型
2.2 字符串类型
2.3日期类型
3.表的操作
3.1查看表结构
3.2创建表
3.2删除表
1.数据库的操作
1.1 显示当前的数据库
show databases;
1.2创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name
说明:
1.大写的为关键字;
2.[ ]中括号括起来的为可选项;
3.CHARACTER SET指定数据库所用的数据集;
4.COLLATE指定数据集的效验规则。
示例:
系统使用默认字符集:utf8,校验规则 是:utf8_ general_ ci
- 创建名为student的数据库
CREATE DATABASE student;
- 如果系统没有student的数据库,则创建一个名叫student的数据库,如果有则不创建
CREATE DATABASE IF NOT EXISTS student;
-
如果系统没有 student的数据库,则创建一个使用utf8mb4字符集的 student数据库,如果有则不创建
CREATE DATABASE IF NOT EXISTS student CHARACTER SET utf8mb4;
1.3使用数据库
语法:
use 数据库名;
示例:
使用student数据库。
USE student;
1.4删除数据库
语法:
DROP DATABASE [IF EXISTS] db_name;
注意:数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
2.常用数据类型
2.1数值类型
数值类型 | 大小 | 说明 | 对应Java类型 |
BIT[(M)] | M指定位数,默认为1 |
二进制数,M范围从1到64,存储数值范围从0到2^M-1
|
常用Boolean对应BIT,此时默认是1位,即只能存0和1
|
TINYINT
|
1字节 | Byte | |
SMALLINT | 2字节 | Short | |
INT | 4字节 | Integet | |
BIGINT | 8字节 | 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
|
和DECIMAL一样
|
BigDecimal
|
补充:
1字节(bytes)= 8bit。对于整型类型的范围:1. 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int是4字节,就是-2^31到2^31-12. 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1
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类型 |
DATATIME | 8字节 | 范围从1000到9999年,不会检索当前时 区并进行转换。 |
java.util.Date、
java.sql.Timestamp
|
TIMESTAMP | 4字节 |
范围从1970到2038年,自动检索当前时 区并进行转换。
|
java.util.Date、
java.sql.Timestamp
|
3.表的操作
需要操作数据库中的表时,需要先使用该数据库。
语法:
use db_test;
3.1查看表结构
语法:
desc 表名;
示例:
查看3.2中所创建的students表:
desc students;
表结构如图所示:
表头含义如下:
Field:字段名
Type:字段类型
Null:是否为空
Key:索引类型
Default:默认值
Extra:补充
3.2创建表
语法:
CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype);
示例:
创建一个学生表students,字段包括学号id,姓名name,性别sex,年龄age。
create table students(id int,name varchar(20),sex varchar(1),age int
);
3.2删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例:
删除刚刚创建的学生表:
--删除学生表
drop table students;
--学生表如果存在,删除学生表
drop table if exists student;