2.表的基本操作

表的基本操作

数据库常见的数据类型

MySQL类型Java类型备注
tinyintbyte取值返回 -128~127
smallintshort
int/integerint
bigintlong
floatfloat
doubledouble
decimal(m, n )可以设置有效数字和保留几位小数
char(n)string固定长度的字符串 , n 代表 字符串的长度
varchar(n)string可变长度的字符串, n 代表 允许的最大长度
text/longtextstring存储超大文本,例如 新闻,小说章节等
longblobbyte[]存储二进制数据、例如 音频,视频,图片等信息
datedate / LocalDate存储日期,格式为 YYYY-MM-DD
datetimedate / LocalDateTime存储日期和时间,格式为 YYYY-MM-DD HH:mm:ss
timeLocalTime存储时间,格式为 HH:mm:ss
enum(x,y,z,…)Stringx,y, z 代表 允许出现的值

数据库约束

约束是基于字段的,可以给一个字段添加多个约束

约束不是 越多越好、约束越多,数据库的开销越多,会让数据库的性能降低

在表中 对主要的、关键性的数据添加约束即可

  • 主键约束 primary key
特点: 值是唯一的、且不允许为空。 一张表最多只能设置一个主键

MySQL的主键一般 还可以设置为 自动增长, 在新增数据的时候,就不需要再设置主键的值,而该值有系统自动产生

再定义主键的时候,使用 auto_increment 关键字即可

  • 唯一约束 unique
特点: 值是唯一的、 可以为空
  • 非空约束 not null
特点:  值不允许为空 
  • 默认约束 default
特点: 可以给某一个字段的值 设置默认值
  • 外键约束 foreign key
特点: 维护数据与数据之间的关系 或者 表与表之间的关系
  • 检查约束 check
特点: 可以对值进行检查, MySQL 不支持该约束

数据库范式

范式: 数据库建表的规范, 一般 企业中要求 表需要满足 数据库的 三范式 要求

  • 一范式

    • 表中所有的字段 不可再分、数据库 都是满足 一范式 的
  • 二范式

    • 表中 所有字段 都必须 和 主字段 有关系
  • 三范式

    • 表中 所有字段 都必须 和 主字段 有直接关系、且 每一张表 都必须有自己的主键、且字段在多张表中 不能有冗余

新建表

create  table [if not exists] <tableName> (
    <columnName>  <columnType> [约束]  [注释] , 
    ....
) ;

CREATE TABLE `t_book` (
  `id` bigint  COMMENT '图书编号',
  `book_name` varchar(50)  COMMENT '图书名',
  `price` decimal(11,1)  COMMENT '图书价格',
  `author` varchar(20)  COMMENT '作者',
  `create_time` datetime  COMMENT '录入时间',
  `update_time` datetime  COMMENT '修改时间',
  `status` enum('0','1')  COMMENT '0代表下架'
);

修改表结构 alter table 表名

  • 添加一个字段 add column
alter table <tableName>  add  [column]  字段名  字段类型 [约束] [注释] ;
alter table t_book  add  is_borrow boolean comment '是否被借' ;
  • 修改字段名 change
alter table <tableName> change  oldName  newName 字段类型 [约束] [注释] ;
alter table t_book change name book_name varchar(50) comment '图书名';
  • 修改字段类型 modify
alter table <tableName> modify <columnName> 要修改的类型 [约束] [注释] ;
alter table t_book modify status enum('0', '1')  comment '0代表下架'; 
  • 删除一个字段 drop column
alter table <tableName> drop [column] <columnName> ; 
alter table t_book  drop is_borrow ;
  • 修改表名称 rename
alter table <tableName> rename to <newTableName> ;
alter table t_book rename to book ;

rename table <tableName> to <newTableName> ;
rename table book to t_book ;

查看表结构

desc  表名 ;
describe 表名 ;

查看当前库下所有的表

show tables [like] ; -- 支持 模糊查询

查看建表语句

show create table <tableName> ;

删除表

drop table [if exists] <tableName> ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值