1.SQL
1.1 SQL
SQL,它的全称叫Structured Query Language,结构化的查询语言。之所以出现这个东西,是为了统一/屏蔽不同数据库厂商生产的数据库产品之间的差异。
SQL定义了一系列标准和规范,数据库厂商也需要按照这个规范来,当然会有一些细小的差别,相比没有规范来说,要好很多
比如 项目后期由于某些原因,需要进行数据库更换,那么操作数据库的语句就都需要更改,而SQL出现,可以避免这个问题
1.2 DDL语句
(1) 更改表名
-- 更改表名
-- alter table 表名 rename 新表名;
alter table student rename t_student;
(2) 更改字段名
-- 更改字段名
-- alter table 表名 change 列名 新列名 数据类型;
alter table t_student change id no int;
(3) 添加字段
-- 添加字段
-- alter table 表名 add 列名 类型; 把该列添加到尾部
alter table t_student add sex char(2);
-- alter table 表名 add 列名 类型 after 已有列名; 把该列添加到指定列的后面
alter table t_student add sex1 char(2) after no;
-- alter table 表名 add 列名 类型 first; 把该列添加到首部
alter table t_student add sex2 char(2) first;
(4) 删除字段
-- 删除字段
-- alter table 表名 drop 列名;
alter table t_student drop sex2;
2.约束
2.1 主键
我们的java类,对应的就是一张表,成员变量对应一个字段,一个类对象对应一条数据,那么对象都有一定的唯一性
比如判断对象是否相等,我们通常使用equals()方法和hashCode()方法,那么怎么在数据库中表示数据的唯一性呢?主键
主键通常用于唯一确定表中的一条记录,设置为主键的字段是不能为NULL并且不能重复的。
主键可以设置在一个字段上,也可以设置在多个字段上。(但大多数场景都是设置在一个字段上,这个字段通常是业务主键或者流水号)
主键设置可以划分为两种
第一种 : 创建表语句时,添加主键约束
第二种 : 创建表完成之后,通过alter添加主键约束
下面是使用方式
第一种:创建表语句时,添加主键约束
create table person(
id int ,
name varchar(100),
income decimal(18,2),
primary key (id,name)
);
上面代码设置了两个主键
create table person1(
id int ,
name varchar(100),
income decimal(18,2),
primary key (id)
);
上面代码设置了一个主键
如果只有一列主键,也可以直接写在字段后面
create table person2(
id int primary key,
name varchar(100) ,
income decimal(18,2)
第二种:创建表完成之后,通过alter添加主键约束
语法 : alter table 表名 add primary key(列名,列名...);
create table person3(
id int ,
name varchar(100),
income decimal(18,2)
);
比如要对person3表添加id列主键
alter table person3 add primary key(id);
主键自增:
上面我们已经对表添加了主键,主键值不能为空且不能重复,那么问题来了...
如果主键的值让客户输入的话,很容易就重复了,比如888,666等数字大家都喜欢使用,导致一直输入不正确,非常不方便
所以又有了自增的概念,所谓自增,望文知意,就是自动增加,不用我们输入值
但是自增的列,必须为主键列,关键字 auto_increment
设置自增的两种方式 :
第一种 : 建表时,添加自增
第二种 : 创建表之后,添加自增
下面是使用方式
第一种:建表时,添加自增
create table person4(
id int auto_increment ,
name varchar(200),
primary key(id)
);
第二次,创建表之后,添加自增
语法 : alter table 表名modify 主键列名 类型 auto_increment;
create table person5(
id int ,
nam