> 文章列表 > 【数据库】MySQL数据库基础

【数据库】MySQL数据库基础

【数据库】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范围从164,存储数值范围从02^M-1
常用Boolean对应BIT,此时默认是1位,即只能存01
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,如int4字节,就
-2^312^31-1
2. 无符号范围:02^(类型字节数*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;