当前位置:网站首页>DDL:ALTER 修改数据库——《mysql 从入门到内卷再到入土》
DDL:ALTER 修改数据库——《mysql 从入门到内卷再到入土》
2022-08-10 20:51:00 【Dhaa_Ryan】
内卷能让一个群体的内部变得异常的精致,但是本质上却完完全全没有任何的进步,并且会导致更多没必要的资源浪费以及带来更加激烈的竞争。它是zbzy社会下劳动力过剩的必然现象。
修改–alter
CREATE TABLE
user
(id
INT(10)NOT NULL,mobile
VARCHAR(11) NOT NULL,nickname
VARCHAR(40) NOT NULL,gmt_created
datetime ,gmt_modified
datetime ,
PRIMARY KEY (id
)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
修改列名
测试例:
比如说我们修改上面的那张表
ALTER TABLE user CHANGE COLUMN nickname othername VARCHAR;
//修改时需要把数据类型加上
修改类型和约束
测试例:
ALTER TABLE user CHANGE MODIFY COLUMN nickname INT ;
//将nickname的类型改成int
添加列//属性
测试例:
ALTER TABLE user ADD COLUNM money DOUBLE;
//添加money这个新列(属性)
删除列
测试例:
ALTER TABLE user DROP COLUNM money;
修改表名
ALTER TABLE user RENAME TO proletariat;
//将user改成能’将马云吊上路灯’的群体的名字
删除–drop(直接把表扔了,不是清空数据)
DROP TABLE table_name;
DROP TABLE IF EXISTS table_name;
复制
仅仅复制表的结构
CREATE TABLE proletariat LIKE user ;
复制表的部分结构
CREATE TABLE proletariat
SELECT id,name
FROM user
WHERE 0;
复制表的结构和数据
CREATE TABLE proletariat
SELCET * FROM user;//将表的某个列的数据复制过来,*是全部复制
复制表的结构和部分符合条件的数据
CREATE TABLE proletariat
SELCET * FROM user
WHERE nation=’international’
//将表的符合条件的行的某个数据复制过来
添加表级约束
CREATE TABLE stuinfo(
id INT,
stuname VARCHAR(20),
gender CHAR(1),
seat INT,
age INT,
major_id INT,
//只能创建列级约束的:
//缺省约束
//NULL约束
//表级约束,必须在列定义后使用
//为ID添加主键
//CONSTRAINT 和约束名可以省略
CONSTRAINT yaju PRIMARY KEY(id)//主键
CONSTRAINT yaju2 UNIQUE(seat)//唯一键
CONSTRAINT yaju3 CHECK(gender=’男’ OR gender=’女’)//检查
CONSTRAINT fk_stuinfo_major FOREIGN KEY(major_id) REFERENCES major(id)//添加外键
)
修改表时添加约束
CREATE TABLE stuinfo(
id INT,
stuname VARCHAR(20),
gender CHAR(1),
seat INT,
age INT,
major_id INT,
)
//添加非空约束
ALTHER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NOT NULL
//添加默认约束
ALTHER TABLE stuinfo MODIFY COLUMN age INT DEFAULT 18;
//添加主键
ALTHER TABLE stuinfo MODIFY COLUMN id INT PRIMARY KEY;
ALTHER TABLE stuinfo ADD PRIMARY KEY(id);//表级约束写法
//添加唯一键
ALTHER TABLE stuinfo MODIFY COLUMN seat INT UNIQUE;
ALTHER TABLE stuinfo ADD UNIQUE(seat);//表级约束写法
//添加外键
ALTHER TABLE stuinfo ADD FOREIGN KEY(major_id) REFERENCES major(id);
修改表时删除约束
//删除非空约束
ALTHER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL;
//删除默认
ALTHER TABLE stuinfo MODIFY COLUMN age INT;
//删除主键
ALTHER TABLE stuinfo DROP PRIMARY KEY;
//删除唯一键
ALTHER TABLE stuinfo DROP INDEX seat;
//删除外键
ALTHER TABLE stuinfo DROP FOREIGN KEY fk_stuinfo_major;
//删除索引
ALTHER TABLE stuinfo DROP index id;
标识列
AUTO_INCREMENT
自增长列,不需要手动插入值,系统提供默认的序列值
它不一定是主键,但要求是一个KEY
一个表中只能有一个自增长列
标识列的类型只能是数值
在创建表时设置标识列
CREATE TABLE tab_identity(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
//在插入数据时如果设置的值为null,系统会自动进行插入
INSERT INTO tab_indentity VALUES(NULL,’john’)
设置步长
SET auto_increment_increment =3;
在默认插入时每次以3为间隔 刚开始时插入一个设置好的值,
在此之后的默认插入的编号就在这个值后面递增
修改表时设置标识列
ALTER TABLE tab_indentity MODIFY COLUMN id INT PRIMARY KEY AUTO_INCREMENT
修改表时删除标识列
ALTER TABLE tab_indentity MODIFY COLUMN id INT PRIMARY KEY
返回索引
边栏推荐
猜你喜欢
电信保温杯笔记——《统计学习方法(第二版)——李航》第17章 潜在语义分析
用示波器揭示以太网传输机制
双 TL431 级联振荡器
XML小讲
【语义分割】2015-UNet MICCAI
化学制品制造业数智化供应链管理系统:建立端到端供应链采购一体化平台
C语言详解系列——关于调试那些事
【golang map】 深入了解map内部存储协议
Tf ferritin particles contain cisplatin / oxaliplatin / doxorubicin / methotrexate MTX / paclitaxel PTX and other drugs
2019河北省大学生程序设计竞赛部分题题解
随机推荐
化学制品制造业数智化供应链管理系统:建立端到端供应链采购一体化平台
2019河北省大学生程序设计竞赛部分题题解
B. Codeforces Subsequences
数据标注太昂贵?这个方法可以用有限的数据训练模型实现基于文本的ReID!
这些mysql基础命令、基础知识还记得吗?(面试,学习,复习都可以)一万三千字总结
2021DASCTF实战精英夏令营暨DASCTF July X CBCTF 4th
【golang map】 深入了解map内部存储协议
第四届红帽杯网络安全大赛
重载和重写
[SemiDrive source code analysis] [MailBox inter-core communication] 51 - DCF_IPCC_Property implementation principle analysis and code combat
Apache DolphinScheduler 3.0.0 正式版发布!
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--章节实验
paddle 35 paddledetection保存训练过程中的log信息
根心与根轴
Kubernetes Notes / Getting Started / Production Environment / Installing Kubernetes with Deployment Tools / Starting a Cluster with kubeadm / Creating a Cluster with kubeadm
2021DozerCTF
Kyligence 通过 SOC 2 Type II 审计,以可信赖的企业级产品服务全球客户
【图像分类】2017-MobileNetV1 CVPR
C. Rotation Matching
大小端的理解以及宏定义实现的理解