DDL 操作 数据表
MySQL常见的数据类型
类型 | 描述 |
---|---|
int | 整型 |
double | 浮点型 |
varchar | 字符串型 |
char | 类型在MySql中char类型也代表字符串 |
date | 日期类型,给是为 yyyy-MM-dd ,只有年月日,没有时分秒 |
详细的数据类型(了解即可)
字段类型 | 中文说明 | 字段说明 | Java类型 |
---|---|---|---|
字符串 | 类型 | java.lang.String | |
char(n) | 固定长度 | 最多255个字符 | java.lang.String |
varchar(n) | 可变长度 | 最多65535个字符 | java.lang.String |
tinytext | 可变长度 | 最多255个字符 | java.lang.String |
text | 可变长度 | 最多65535个字符 | java.lang.String |
mediumtext | 可变长度 | 最多2的24次方-1个字符 | java.lang.String |
longtext | 可变长度 | 最多2的32次方-1个字符 | java.lang.String |
日期 | 类型 | ||
date | 3字节,日期 | 格式:2021-02-01 | Date |
time | 3字节,时间 | 格式:14:00:00 | Date |
datetime | 8字节,日期时间 | 格式:2021-02-01 14:00:00 | Date |
timestamp | 4字节,自动存储记录修改的时间 | java.sql.Timestamp | |
year | 1字节,年份 | Date | |
整数 | 类型 | ||
tinyint | 1字节 | 范围(-128~127) | int |
smallint | 2字节 | 范围(-32768~32767) | int |
mediumint | 3字节 | 范围(-8388608~8388607) | int |
int | 4字节 | 范围(-2147483648~2147483647) | int |
bigint | 8字节 | 范围(-9.22*10的18次方) | int |
浮点 | 类型 | ||
float(m,d) | 4字节,单精度浮点型 | m总个数,d小数位 | float |
double(m,d) | 8字节,双精度浮点型 | m总个数,d小数位 | double |
decimal(m,d) | decimal是存储为字符串的浮点数 | double |
注意:
MySQL中的 char类型与 varchar类型,都对应了 Java中的字符串类型,区别在于:
-
char类型是固定长度的: 根据定义的字符串长度分配足够的空间。
-
varchar类型是可变长度的: 只使用字符串长度所需的空间
-
比如:保存字符串 “abc”
x char(10) -- 占用10个字节 y varchar(10) -- 占用3个字节
适用场景:
- char类型适合存储 固定长度的字符串,比如 密码 ,性别一类
- varchar类型适合存储 在一定范围内,有长度变化的字符串
创建表
CREATE TABLE 表名(
字段名称1 字段类型(长度) [约束], --
字段名称2 字段类型 [约束] --注意 最后一列不要加逗号
);-- ↓[约束规则]↓(https://blog.csdn.net/Guai_Ka/article/details/113525400)
✍约束规则_跳转
快速创建一个表结构相同的表(复制表结构):
create table 新表名 like 旧表名
查看表
命令 | 说明 |
---|---|
show tables; | 查看当前数据库中的所有表名 |
desc 表名; | 查看数据表的结构 |
show create table 表名 | 查看创建表的sql |
删除表
命令 | 说明 |
---|---|
drop table 表名; | 删除表(从数据库中永久删除某一张表) |
drop table if exists 表名; | 判断表是否存在, 存在的话就删除,不存在就不执行删除 |
修改表
-
修改表名
to
rename table 旧表名 to 新表名
-
修改表的字符集
character set
alter table 表名 character set 字符集
-
向表中添加列, 关键字
add
alter table 表名 add 字段名称 字段类型
-
修改表中列的 数据类型或长度 , 关键字
modify
alter table 表名 modify 字段名称 字段类型
-
修改列名称 , 关键字
change
alter table 表名 change 旧列名 新列名 类型(长度);
-
删除列 ,关键字
drop
alter table 表名 drop 列名;