2021.07.29

数据库
Sql:结构化的查询语句
简单的DDL
DDL DataDefintion Language 数据库定义语言
涉及的关键字 create drop alter
更改表名:alter table 表名 rename 新表名
如alter table teacher rename t_teacher
更改字段名:alter table 表名 change 列名 新列名 数据类型;
如 alter table test change age ages int;(其中数据类型可以不改,但是必须要写)
添加字段:alter table 表名 add列名类型;
如alter table t_teacher add brithday datetime; 默认添加至尾部
alter table t_teacher add birthday datetime after teacher_name;把列添加到指定列的后面
alter table t_teacher add sex2 char(2) first;添加第一列,需要把表关掉,刷新一下,再打开才能显示出来
删除字段 :alter table 表名 drop 列名
如 alter table t_teacher drop brithday;
更改字段类型(尽量不要更改)
alter table 表名 modify 列名 新数据类型;
如alter table t_teacher motify sex2 varchar(20);
查看建表语句:show create table 表名;
DDL增强
上边讲的DDL只是一系列基础操作,它让我们有库有表可以插入数据。但是对于插入的数据是否有效,并不能保证。比如我们可以插入一条所有数据为NULL的记录:
命令 insert into student(id,name,score)values(null,null,null);
这种数据拜拜占用了我们的储存空间,但实际上并没有什么用处,为了防止表中插入这种数据,MYsql提供了一系列的完整行验证机制
约束分类:
主键:primary key
外键:foreign key
唯一:unique
非空:not null
自增:auto_increment
默认值:default
实体完整性(主键)
我们的Java类,对应的就是一张表,成员变量对应一个字段,
一个类对象对应一条数据,对象都有一定的唯一性
比如判断对象是否相等,我们通常使用equals()方法和hashcode()方法,那么怎么在数据库中表示数据的唯一性呢?主键
主键通常用于唯一确定表中的一条数据,设置为朱家的字段是不能为NULL并且不能重复。
主键可以设置再一个字段上,也可以设置在多个字段上。(但大多数场景都是设置在一个字段上,这个字段通常是业务主键或流水号)
主键设置可以划分为两种
第一种:创建表语句时 ,添加主键约束
第二种,创建表完成后,通过alter添加主键约束

第一种:创建表语句时,添加主键约束
Create table person(
Id int
Name varchar(100)
Income decimal(18,2)
Primary key (id,name)

上边的代码设置了两个主键
Create table person1(
Ind int;
Name varchar(100)
Income deximal(18,2)
Primary key(id)
)
上边代码设置了一个主键
如果只有一个主键,也可以直接写在字段后面
create table perxon1(
Id int primary key;
name varchar(100)
Income decimal(18,2)
)
第二种;创建完表之后,通过alter添加主键约束
语法;alter table 表名 add primary key(列名,列名…);
Create table person(
Id int
Name varchar(100)
Income decimal(18,2)
)
比如要对person表添加id列主键
alter table peoson add primary key (id);
主键自增
上边我们对表添加了主键,主键值不能为空且不能重复
设置自增的两种方式
第一种:建表时,添加自增
第二种:建表后,添加自增

第一种:建表时,添加自增
Create table person4(
Id int auto_increment;
Name varchar(200)
Primary key(id)
)
测试语句
Insert into person4(name)values(‘测试’);
并没有输入id的值,但是可以自动填充
第二种 : 创建表之后,添加自增
语法:alter table 表名modify 主键列名 类型auto_increment;
Create table person(
Id int,
Name varchar(200),
Primary key(id),
)
Alter table person5 modify id int auto_incement;
测试语句 :
insert into person5 (name)values(‘测试’);
并未输入id的值,但是可以自动填充

设置自增的起始值
语法:alter table 表名 auto_increment=值;
Create table person(
Id int,
Name varchar(200),
Primary kry(id),
)
Alter table person auto_increment=1000;
测试语句insert into person (name)values(‘测试’)
Id从1000开始

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值