My SQL day02

1.SQL 

1.1 SQL 介绍

SQL,它的全称叫Structured Query Language,结构化的查询语言。之所以出现这个东西,是为了统一/屏蔽不同数据库厂商生产的数据库产品之间的差异。

1.2 简单DDL

比如更改表名

alter table 表名 rename 新表名;

如 alter table teacher rename t_teacher;

更改字段名

alter table 表名 change 列名 新列名 数据类型;

更改表的列名 和 数据类型 当然数据类型可以不改,但是必须得写,

如 alter table t_teacher change name teacher_name varchar(20);

添加字段

alter table 表名add 列名类型;

如 alter table t_teacher add birthday 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 birthday;

更改字段类型(尽量不要更改)

alter table 表名 modify 列名 新数据类型;

如 alter table t_teacher modify sex2 varchar(20);

alter table 表名 modify 列名 数据类型 comment '该列的注释说明';  更改类型的同时,还能添加注释说明

查看建表语句

show create table 表名;

1.3 DDL 增强

实体完整性(主键)

我们的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)

);

测试语句 :

insert into person4(name)values('测试');

并未输入id的值,但是可以自动填充

第二种 : 创建表之后,添加自增

语法 : alter table 表名modify 主键列名 类型 auto_increment;

create table person5(

       id int ,

       name varchar(200),

        primary key(id)

);

alter table person5 modify id int auto_increment;

测试语句 :

insert into person5 (name)values('测试');

并未输入id的值,但是可以自动填充

设置自增的起始值

语法 : alter table 表名auto_increment=值;

create table person6(

       id int auto_increment ,

       name varchar(200),

        primary key(id)

);

alter table person6 auto_increment=10000;

测试语句 :

insert into person6 (name)values('测试');

Id值从10000开始

演示示例:主键自增

关联完整性(外键)

对应java代码来说,外键就是类的关联关系(一个类的成员变量是另外一个类的对象引用)

像这种一个类的变量可以找到另外一个类对象的这种关联关系,在数据库中怎么体现呢? 外键

一个表中的外键列,需要参照另一个表的主键值生成,并且一个表的外键列的值和另一个表的主键值的数据类型必须一致,

然后就可以通过这个表中的外键 去找另一个表的主键,能找到主键就能根据主键找到对应的一行数据

常用于有关联关系的两个表中

外键列的值,必须是关联表中的已有主键值,也可以为空

具体外键中的查询,现在不考虑,到DQL的时候咱们再说,现在子查询都还没讲,所以先了解什么是外键

设置外键有两种方式 :

第一种 : 创建表时添加外键约束

第二种 : 创建完表之后,添加外键约束

下面是使用方式

第一种 : 创建表时添加外键约束

create table teacher(

    id int ,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值