尚硅谷MySQL学习笔记(Day_5)-DDL语言介绍:标识列

这篇博客主要介绍了MySQL中的DDL语言,重点探讨了标识列(自增长列)的概念和特点,包括它不需要手动插入值,系统会提供默认序列,标识列不必与主键一起使用但需为key,一个表最多一个标识列且通常为数值型。同时,讨论了如何在创建和修改表时设置标识列的步长和初始值,以及如何删除标识列。
摘要由CSDN通过智能技术生成

DDL语言

标识列

又称为自增长列
      含义:可以不用手动的插入值,系统提供默认的序列值

特点:
1.标识列必须和主键搭配吗?
      不一定,但要求是一个key(主键、唯一)
2.一个表中可以有多少个标识列?
      至多一个
3.标识列的类型只能是数值型
4.标识列可以通过SET auto_increment_increment 设置步长,也可以通过手动插入值设置起始值

一、创建表时设置标识列

DROP TABLE IF EXISTS tab_identity
CREATE TABLE tab_identity(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20)
);
#常规表添加需要不断修改id 
INSERT INTO tab_identity VALUES(NULL,'john');#连续执行3次
INSERT INTO tab_identity(NAME) VALUES('lucy')#连续执行2次
SELECT * FROM tab_identity

在这里插入图片描述

1.查看步长和起始值

SHOW VARIABLES LIKE '%auto_increment%'

在这里插入图片描述

2.设置步长

TRUNCATE TABLE tab_identity
SET auto_increment_increment  = 3; #设置步长为3
INSERT INTO tab_identity VALUES(NULL,'john'); #连续执行3次
SELECT * FROM tab_identity

在这里插入图片描述

3.设置初始值【mysql不支持对offset的直接修改,可以采用下述方式达成目的】

INSERT INTO tab_identity VALUES(10,'john'); #先执行一次
INSERT INTO tab_identity VALUES(NULL,'john'); #再执行3次
SELECT * FROM tab_identity

在这里插入图片描述

4.测试

CREATE TABLE tab_identity(
	id INT UNIQUE AUTO_INCREMENT, #不报错
	NAME VARCHAR(20)
	seat INT UNIQUE AUTO_INCREMENT #报错
);
CREATE TABLE tab_identity(
	id INT ,
	NAME VARCHAR(20) UNIQUE AUTO_INCREMENT #报错
	NAME FLOAT UNIQUE AUTO_INCREMENT #不报错
	seat INT
); 

二、修改表时设置标识列

ALTER TABLE tab_identity MODIFY COLUMN id INT PRIMARY KEY AUTO_INCREMENT

在这里插入图片描述


三、修改表时删除标识列

ALTER TABLE tab_identity MODIFY COLUMN id INT;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值