表结构操作
- 创建表 注意:字符串的长度必须指定,int类型的默认长度是11
create table 表名称(
字段1 类型(长度) 约束,
字段2 类型(长度) 约束,
字段3 类型(长度) 约束
);
- 删除表 drop table 表名;
- 查看表
desc 表名; 查看表结构
show tables; 查看当前库内所有表名
show create table 表名; 查看建表语句和字符集
- 修改表
1.语法:
alter table 表名 add 新列名 类型(长度) 约束; --添加列
alter table 表名 drop 列名; --删除列
alter table 表名 modify 列名 类型(长度) 约束; --修改列的类型或约束
alter table 表名 change 旧列名 新列名 类型(长度) 约束; --修改列名
rename table 表名 to 新表名; --修改表名
alter table 表名 character set utf8; --修改表的字符集
单表的约束
- 约束的好处:保证数据的完整性
- 主键约束 关键字:primary key 特点: 1.唯一 2.非空 3.被引用(和外键一起来使用)
- 唯一约束 关键字:unique
- 非空约束 关键字:not null
数据库的数据类型
1.字符串型(常用)
varchar:长度是可变的。 例子:name varchar(8) 存入数据hello,存入进去后,那么字段长度变为5,但不能往大变,如果超出长度会报错
char:长度不可变 例子: name char(8) 存入数据hello 存入进去后,剩余部分会用空格补全
2.大数据类型 (不常用)
BLOB: 字节(电影 mp3)
TEXT: 字符(文本的内容)
3.数值型(常用) tinyint smallint int bigint float double
对应java类型 byte short int long float double
4.逻辑型 bit(1或者0)
对应java中boolean类型 true false
5.日期型 (常用)
date :只包含日期(年月日)
time :只包含时间(时分秒)
datetime :包含日期和时间 如果插入的数据为空,就存空
timestamp :包含日期和时间 如果插入的数据为空,就获取当前时间存入