文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql中常见约束 - 自律即自由

2022-03-19 18:45

关注

mysql中常见约束 - 自律即自由

  1 #常见约束
  2 
  3 
 53 
 54 CREATE TABLE 表名(
 55     字段名 字段类型 列级约束,
 56     字段名 字段类型,
 57     表级约束
 58 
 59 )
 60 CREATE DATABASE students;
 61 #一、创建表时添加约束
 62 
 63 #1.添加列级约束
 64 
 74 
 75 USE students;
 76 DROP TABLE stuinfo;
 77 CREATE TABLE stuinfo(
 78     id INT PRIMARY KEY,#主键
 79     stuName VARCHAR(20) NOT NULL UNIQUE,#非空
 80     gender CHAR(1) CHECK(gender="" OR gender =""),#检查
 81     seat INT UNIQUE,#唯一
 82     age INT DEFAULT  18,#默认约束
 83     majorId INT REFERENCES major(id)#外键
 84 
 85 );
 86 
 87 
 88 CREATE TABLE major(
 89     id INT PRIMARY KEY,
 90     majorName VARCHAR(20)
 91 );
 92 
 93 #查看stuinfo中的所有索引,包括主键、外键、唯一
 94 SHOW INDEX FROM stuinfo;
 95 
 96 
 97 #2.添加表级约束
 98 
103 
104 DROP TABLE IF EXISTS stuinfo;
105 CREATE TABLE stuinfo(
106     id INT,
107     stuname VARCHAR(20),
108     gender CHAR(1),
109     seat INT,
110     age INT,
111     majorid INT,
112     
113     CONSTRAINT pk PRIMARY KEY(id),#主键
114     CONSTRAINT uq UNIQUE(seat),#唯一键
115     CONSTRAINT ck CHECK(gender ="" OR gender  = ""),#检查
116     CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id)#外键
117     
118 );
119 
120 
121 
122 
123 
124 SHOW INDEX FROM stuinfo;
125 
126 
127 
128 #通用的写法:★
129 
130 CREATE TABLE IF NOT EXISTS stuinfo(
131     id INT PRIMARY KEY,
132     stuname VARCHAR(20),
133     sex CHAR(1),
134     age INT DEFAULT 18,
135     seat INT UNIQUE,
136     majorid INT,
137     CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id)
138 
139 );
140 
141 
142 
143 #二、修改表时添加约束
144 
145 
154 DROP TABLE IF EXISTS stuinfo;
155 CREATE TABLE stuinfo(
156     id INT,
157     stuname VARCHAR(20),
158     gender CHAR(1),
159     seat INT,
160     age INT,
161     majorid INT
162 )
163 DESC stuinfo;
164 #1.添加非空约束
165 ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20)  NOT NULL;
166 #2.添加默认约束
167 ALTER TABLE stuinfo MODIFY COLUMN age INT DEFAULT 18;
168 #3.添加主键
169 #①列级约束
170 ALTER TABLE stuinfo MODIFY COLUMN id INT PRIMARY KEY;
171 #②表级约束
172 ALTER TABLE stuinfo ADD PRIMARY KEY(id);
173 
174 #4.添加唯一
175 
176 #①列级约束
177 ALTER TABLE stuinfo MODIFY COLUMN seat INT UNIQUE;
178 #②表级约束
179 ALTER TABLE stuinfo ADD UNIQUE(seat);
180 
181 
182 #5.添加外键
183 ALTER TABLE stuinfo ADD CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id); 
184 
185 #三、修改表时删除约束
186 
187 #1.删除非空约束
188 ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL;
189 
190 #2.删除默认约束
191 ALTER TABLE stuinfo MODIFY COLUMN age INT ;
192 
193 #3.删除主键
194 ALTER TABLE stuinfo DROP PRIMARY KEY;
195 
196 #4.删除唯一
197 ALTER TABLE stuinfo DROP INDEX seat;
198 
199 #5.删除外键
200 ALTER TABLE stuinfo DROP FOREIGN KEY fk_stuinfo_major;
201 
202 SHOW INDEX FROM stuinfo;

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯