mysql学习笔记2

约束:
作用:
为了保证数据的有效性和完整性
mysql中常用的约束:主键约束(primary key) 唯一约束(unique) 非空约束(not null) 外键约束(foreign key)
主键约束:被修饰过的字段唯一非空
注意:一张表只能有一个主键,这个主键可以包含多个字段
方式1:建表的同时添加约束 格式: 字段名称 字段类型 primary key
方式2:建表的同时在约束区域添加约束
所有的字段声明完成之后,就是约束区域了
格式: primary key(字段1,字段2)

create table pk01(
id int,
username varchar(20),
primary key (id)
);
方式3:建表之后,通过修改表结构添加约束
create table pk02(
id int,
username varchar(20)
);

        alter table pk02 add primary key(字段名1,字段名2..);
        alter table pk02 add primary key(id,username);

唯一约束:(了解)
被修饰过的字段唯一,对null不起作用
方式1:建表的同时添加约束 格式: 字段名称 字段类型 unique
create table un(
id int unique,
username varchar(20) unique
);

        insert into un value(10,'tom');-- 成功
        insert into un value(10,'jack');-- 错误 Duplicate entry '10' for key 'id'
        insert into un value(null,'jack');-- 成功
        insert into un value(null,'rose');-- 成功

就是说可以在唯一的约束下,可以有多个null。

    方式2:建表的同时在约束区域添加约束 
        所有的字段声明完成之后,就是约束区域了
        unique(字段1,字段值2...)
    方式3:建表之后,通过修改表结构添加约束
        alter table 表名 add unique(字段1,字段2);-- 添加的联合唯一
        alter table 表名 add unique(字段1);-- 给一个添加唯一
        alter table 表名 add unique(字段2);-- 给另一个添加唯一
        非空约束(了解)
    特点:被修饰过的字段非空
    方式:
        create table nn(
            id int not null,
            username varchar(20) not null
        );

        insert into nn values(null,'tom');--  错误的 Column 'id' cannot be null

truncate 清空表 ★
格式:
truncate 表名; 干掉表,重新创建一张空表
和delete from 区别:
delete属于DML语句 truncate属于DDL语句
delete逐条删除 truncate干掉表,重新创建一张空表

auto_increment 自增
要求:
1.被修饰的字段类型支持自增. 一般int
2.被修饰的字段必须是一个key 一般是primary key
[关于inner join 与 left join 之间的区别:](可参考这位博主)(https://www.cnblogs.com/assasion/p/7768931.html)
left join和 right join都属于的outer join。

  1. 列表内容

    ` 这个符号再mysql中是用于转义用的,为了使用保留的关键字这类的名称时 ,会使用到这个符号。

  2. 列表内容

分页查询每个数据库的语句是不通用的.
MYSQL:使用limit的关键字.
* select * from product limit a,b; –a:从哪开始,b:查询多少条.
* 表中的数据从0开始计数的。
Oracle:使用SQL语句嵌套.
SQLServer:使用top的关键字.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值