二、MySQL数据库基础
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 【指定数据库采用的字符集】默认utf-8 [DEFAULT] COLLATE collation_name 【指定数据库字符集的校验规则】默认utf8_ general_ ci
-
示例:
CREATE DATABASE db_test1;
1.3 使用数据库
use db_name;
1.4 删除数据库
-
语法:
DROP DATABASE [IF EXISTS] db_name;
-
示例:
drop database if exists db_test1;
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字节 | Integer | |
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 |
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 日期类型
数据类型 | 大小 | 说明 |
---|---|---|
DATETIME | 8字节 | 范围从1000到9999年,不会进行时区的检索及转换。 |
TIMESTAMP | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换。 |
3. 表的操作
-
需要操作数据库中的表时,需要先使用该数据库
use db_test;
3.1 查看表结构
desc db_name;
3.2 创建表
-
语法:
CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype );
-
示例:
create table stu_test ( id int, name varchar(20) comment '姓名', password varchar(50) comment '密码', age int, sex varchar(1), birthday timestamp, amout decimal(13,2), resume text );
3.4 删除表
-
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
-
示例:
-- 删除 stu_test 表 drop table stu_test; -- 如果存在 stu_test 表,则删除 stu_test 表 drop table if exists stu_test;
4. 重点总结
-
操作数据库:
-- 显示 show databases; -- 创建 create database db_name; -- 使用 use db_name; -- 删除 drop database db_name;
-
常用数据类型:
- INT:整型
- DECIMAL(M, D):浮点数类型
- VARCHAR(SIZE):字符串类型
- TIMESTAMP:日期类型
-
操作表:
-- 查看 show table_name; -- 创建 create table table_name( 字段1 类型1, 字段2 类型2, ... ); -- 删除 drop talbe table_name;