前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学会Mysql第三天

学会Mysql第三天

作者头像
白胡杨同学
发布2020-04-13 18:33:32
5290
发布2020-04-13 18:33:32
举报
文章被收录于专栏:白胡杨同学白胡杨同学

字段属性

primary key 主键属性

是指在一个表中,有且只有一个字段,里面的具有唯一性

添加主键的两种方法

1.随表创建主键
(1) 直接在主键字段后面加上primary key
代码语言:javascript
复制
create table my_pri1(
username varchar(10) primary key
) charset utf8;
(2) 在所有字段后面加上primary key选项 最后一个字段与primary key选项要用“,”隔开。
代码语言:javascript
复制
create table my_pri2(
username varchar(10),
userpass varchar(20),
primary key(username)
)charset utf8;
2.表后创建主键

alter table 表名 add primary key(字段名)

代码语言:javascript
复制
alter table pri1 add primary key(username);

查看主键

1.使用表结构来查看主键
代码语言:javascript
复制
desc pri1;
2.使用查看表创建语句查看主键
代码语言:javascript
复制
show create table pri2;

删除主键

alter table 表名 drop primary key

代码语言:javascript
复制
alter table pri2 drop primary key;

复合主键的应用

primary key(字段名1,字段名2);

代码语言:javascript
复制
create table my_doublepri(
name char(3),
course char(5),
sourse int,
primary key(course,sourse)
)charset utf8;

主键约束

1.主键字段不能为空 2.主键字段不能有任何重复

主键分类

1.业务主键:主键所在的字段具有业务意义。 2.逻辑主键:自然增长的整型。

Comment 列描述属性

comment是专门用来给开发人员进行维护的注释说明 基本语法: ** comment’字段描述’**

  • 查看comment只能用show create table 表名 来查看
代码语言:javascript
复制
create table my_comment(
name varchar(3) comment "用户名",
pass varchar(20) comment "密码" 
) charset utf8;

show create table my_comment;

Default 默认值属性

在字段被设计时,如果允许默认条件下,字段不进行输入,那么可以用事先准备好的值来填充字段,通常为NULL。 default 关键字的另一个作用,插入字段时可以直接使用default字段,来代表插入默认值

代码语言:javascript
复制
create table my_default(
name varchar(10) not null,  --字段不允许为空
age int default 18  --字段的默认值为18
)charset uft-8;
insert into my_default (name) values("Tom"); --插入成功,age字段使用默认值18
insert into my_defalut values("Jack",defalut);  --插入成功

列属性一共有六种,分别是:

Default :默认值,当字段被设计的时候,如果允许默认条件下,用户不进行数据额插入,

那么就可以使用事先准备好的数据来填充:通常填充的是NULL

Default: 关键字的另外一层使用:显示的告知字段使用默认值:在进行数据插入的时候,对字段直接使用default

comment,是专门用于给开发人员进行维护的一个注释说明

基本语法:comment’字段描述’;

查看Comment:必须通过查看表创建语句

  • 1.null
  • 2.默认值:
  • 3.列描述
  • 4.主键
  • 5.唯一键
  • 6.自动增长

NULL 空属性

该属性表示字段为空,如果对应的值为YES,则代表字段可以为空。

注意:

1.在设计表的时候尽量不要让字段为NULL。 2.MYSQL的字段长度最长为65535个字节,如果字段值为空,那么系统会使用一个字节来存储NULL值,有效的数据长度就变成了65534个字节

auto_increment 自增长属性

在某列数据没有给定指定数据的时候,系统会根据该列之前已存在的数据,自动增长后,填充数据(一般用于逻辑主键)。 自增长的删除和添加要通过修改字段类型来进行

自动增长的原理:

1.在系统中有维护一组数据,用来保存当前使用了自动增长的字段,记住当前的数据值,再给定一个步长值。 2.当用户插入数据时,没有指定值,系统在原来的数据基础上加上步长形成新的值,插入到字段中。 3.自动增长的触发条件:给定属性的字段没有提供值。 4.自动增长只适用于数值

代码语言:javascript
复制
create table my_auto(
     id int primary key auto_increment comment'用户名', --设置字段自增长
     pass int not null comment'密码'
     )charset utf8;

修改自增长的值

1.自增长一旦触发使用之后会自动在表选项中增加一个选项(一张表最多有一个自增长字段) 2.表选项可以通过修改表结构来实现

代码语言:javascript
复制
alter  table my_auto auto_increment=3;      --通过修改表结构来修改自增长的值。

删除自增长

修改字段属性时不再保留auto_increment,即认为是删除自增长

  • 删除自增长时,不要在添加primary key属性
代码语言:javascript
复制
alter table my_auto modify id int primary key comment'用户名'   --删除自增长

增加自增长

代码语言:javascript
复制
alter table my_auto modify id int auto_increment    --创建表之后增加自增长

初始设置

系统中,专门有一组变量来存储自增长的初始值和步长值

代码语言:javascript
复制
show variables like 'auto_increment%';      --查看自增长的初始值和步长值

细节问题

1.一个表里面只有一个自增长 2.如果数据插入中给定了值,那么自增长不会表现出来 3.自增长在修改的时候可以较大,但是不可以比当前已有的自增长字段的值小

unique key 唯一键属性

1.用来保证字段中的数据是惟一的,与主键的功能类似,但是一个表中可以有多个唯一键 2.允许字段值为NULL,并且NULL值可以有多个。 3.唯一键也允许复合键。

创建唯一键

随表创建

1.在字段后面添加关键字

代码语言:javascript
复制
create table my_unique(
id int unique key,
sorce int
) charset utf8;

2.在所有字段后面添加 unique key(字段名)

代码语言:javascript
复制
create table my_unique1(
id int,
sorce int,
unique key(int)
) charset utf8;
表后创建
代码语言:javascript
复制
alter table my_unique3 add unique key(id);

查看唯一键

系统会自动为唯一键创建一个名字(默认是字段名)

代码语言:javascript
复制
show  create table my_unique;

唯一键效果:在不为空的情况下,不允许重复

系统会为唯一键创建一个名字,默认值为字段名。

删除唯一键

一个表中允许多个唯一键,“名字”就是用来删除唯一键的 alter table my_unique drop index 名字

代码语言:javascript
复制
alter table my_unique drop index id;
唯一键不能直接修改,通常是先删除后添加

唯一键与主键一样,可以使用多个字段来保证唯一性:

一般主键都是单一字段(逻辑主键),而其他需要唯一性的内容都是有唯一键来处理。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字段属性
    • primary key 主键属性
      • 添加主键的两种方法
      • 查看主键
      • 删除主键
      • 复合主键的应用
      • 主键约束
      • 主键分类
      • Comment 列描述属性
    • Default 默认值属性
      • 列属性一共有六种,分别是:
    • NULL 空属性
      • auto_increment 自增长属性
        • 自动增长的原理:
        • 修改自增长的值
        • 删除自增长
        • 增加自增长
        • 初始设置
        • 细节问题
      • unique key 唯一键属性
        • 创建唯一键
        • 查看唯一键
        • 删除唯一键
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档