1、数据库操作
1.1、显示当前的数据库
SHOW DATABASES;
1.2、创建数据库
CREATE DATABASE IF NOT EXISTS 库名;
1.3、使用数据库
USE 库名;
1.4、删除数据库
DROP DATABASE IF EXISTS 库名;
说明:数据库删除之后,内部看不到对应的数据库,里面的表和数据全部被删除,所以一定要谨慎操作。
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 |
扩展:
数值类型可以指定为无符号,表示不取负数。
1字节(bytes)=8bit对于整型类型的范围:
*有符号范围:-2^(类型字节数组*8-1)~2^(类型字节数组*8-1),如int是4字节,就是-2^31~2^31
*无符号范围:0~2^(类型字节数组*8-1),如int就是0~2^31
尽量不适用unsigned,对于int类型可能放不下的数据,int unsigned同样可能存放放不下,与其如此还不如设计时,就将int类型提升为bigint类型
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 |
3、表的操作
需要操作数据库中的表时,需要先使用该数据库
use 库名;
3.1、查看表结构
desc 表名;
首先要查看数据库中存在那些表
show tables;
例如查看workers表结构
3.2、创建表
语法:
create table 表名(
field1 datatype;
field2 datatype;
field3 datatype;
);
可以使用comment增加字段说明
示例
create table student(
id int,
name varchar(20) comment'姓名',
password varchar(50) comment'密码',
age int,sex varchar(1),
birthday timestamp,
amout decimal(13,2),
resume text
);
3.3、删除表
drop table if exists 表名;
4、操作数据库步骤
显示
show databases;
创建
create database xxx;
使用
use xxx;
删除
drop database xxx;(慎用!!!)
drop table xxx;