Mysql数据库主键、外键等约束要点

MYSQL数据库 专栏收录该内容
7 篇文章 1 订阅

查看数据库:show databases;
创建数据库:create database 数据库名;
删除数据库:drop database 数据库名;
单行注释–注释内容
多行注释:/内容/

1、mysql数据类型

  1. 数值型:int tinyint微整型 smallint 小整型
    小数类型:decimal(总位数,小数位)
    例:价格 decimal(5,2) 100.00-999.99
  2. 日期和时间类型
    datetime 年月日时分秒
  3. 字符串类型
    char(字符串的长度)定长的类型
    varchar(不定长的类型)

2、创建表:

create table 表名(
列名1 数据类型(长度),
列名2 数据类型(长度),
列名3 数据类型(长度),
列名n 数据类型(长度);

创建第一张表:student(包含学号,姓名,年龄,性别属性)

create table student(
	学号 varchar(7),
	姓名 char(4),
	年龄 int,
	性别 char(2)
);

3、表的操作

#删除表:
#drop table 表名;
#修改表:
alter table
#添加列:
alter table 表名 add 列名 数据类型;
#例:给student表添加一个系别
alter table student add 系别 varchar(6);
#删除列:
alter table 表名 drop 列名;
#修改数据类型:
alter table 表名 modify 列名 新的数据类型;
#修改列名:
alter table 表名 change  旧列名 新列名 数据类型;

显示表结构:desc +table_name;

4、实体完整性与约束

1、主键约束: primary key 唯一,不重复,不为空。
格式一:

create table 表名(
列名1  数据类型  primary key,
列名2 数据类型,
.....
);

或者在里面加:constraint 约束名字 primary key(列名);
针对已经存在的表增加主键约束:

alter table 表名 add constraint 主键名 primary key (列名);
alter table  dada add constraint pk_a primary key(names); 

1.1删除主键约束:

alter table 表名 drop primary key;

1.2针对已经存在的表增加联合主键:

alter table 表名 add  constraint  主键约束的名字 primary key(列名1,列名2);#未存在的表直接加在列后

2、唯一约束:unique
特征:1.唯一约束修饰的列,不允许有重复的值,但是可以有空值;2.一个表中可以有多个唯一约束;3.唯一约束默认情况下,约束名字和列名是一样的;4.具有唯一约束的列,系统会自动给它分配一个唯一索引。****
增加唯一约束:

alter table 表名 add unique(列名)

2.1删除唯一约束
格式:

alter table 表名 drop index  唯一约束的名字;

3、默认约束:default 一个表可以有多个
格式:default ‘值’
针对存在表,增加默认约束

alter table 表名 modify 列名 数据类型 default '值';

3、1删除默认约束

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

4、非空约束 not null 可以有多个
表增加

alter table 表名 modify 列名 数据类型 not null;

4、1删除非空约束

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

5、外键约束: foreign key 可以有多个 ,从表参照主表,主表也参照从表,可以列名不一样但是数据类型和内容必须一样。
增加外键约束

alter table 从表 add constraint 外键名 foreign key (从表列名) references 主表(主表列名);

5.1删除外键约束
格式:

alter table 从表表名 drop foreign key  外键约束的名字;

建表注意:先主表再从表

  • 0
    点赞
  • 0
    评论
  • 4
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:像素格子 设计师:CSDN官方博客 返回首页

打赏作者

王大兴的王兴

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值