数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(二
前言在上一节中,主要介绍了 Navicat Premium 17 的使用以及创建一个基础的表格。其时只设置了给数据表补充字段,没有设置给数据表删除字段。现在补充一下。
ALTER TABLE student ADD test int(4);
给名为 student 的数据表添加 test 列,数据类型为 int(4)
执行新增测试样例代码如下所示:
https://i-blog.csdnimg.cn/direct/7c0c90c9dd934587bb3976b7e81a0517.png
执行结果如下所示:
https://i-blog.csdnimg.cn/direct/fec107d2b30743a998bfc04a7268aa9c.png
执行测试样例删除命令:
ALTER TABLE 表名 DROP 列名;
删除数据表的指定列
https://i-blog.csdnimg.cn/direct/957c51c5eb924f598147176cea889b78.png
代码执行结果如图所示:
https://i-blog.csdnimg.cn/direct/c8e46d4c1f2246b6a6a708de1ccd5802.png
一. 设置自增列
设置自增列有两种情况:第一种情况是增加一个新的列(属性),并把它设置为自增状态。第二情况是将表中存在的某一列设置为自增。
在数据表中,自增常常被当做主键,但是自增并不一定是主键。主键:数据库表中用于唯一标识每条记载的一列或一组列。主键在每个数据表中只能存在一个。
1.1 数据表添加自增列
ALTER TABLE student ADD test int(4) PRIMARY KEY AUTO_INCREMENT;
给 student 数据表 添加 test列,并将其设置为主键和自增。
https://i-blog.csdnimg.cn/direct/ca5ac5f63f97422895868e6cdbdf83ba.png
执行完代码,在指定位置刷新如下图所示:
https://i-blog.csdnimg.cn/direct/12581b340ecc4aa2819c8f26dcf98be9.png
注意在此时假如没有设置主键会报错,在这个软件中自增就必要设置为主键。
https://i-blog.csdnimg.cn/direct/cec990eb69314b5a946239e718499700.png
1.2 设置数据表某一列为自增
首先执行下列命令删除 test 列,由于一个表中只能存在一个主键。
ALTER TABLE student DROP test;
删除 student 表 test 属性。
命令的输入及解释:
ALTER TABLE student CHANGE id id int(4) PRIMARY KEY AUTO_INCREMENT;
将 student 表中的 id 设置为主键自增
命令原型:ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [约束];
https://i-blog.csdnimg.cn/direct/2f73bc7c25a949f28a20f1c3cc0bf2b7.png
查察数据信息
SHOW COLUMNS FROM student LIKE 'id';
查察表 student 的 id 属性的信息
[*]列名为“ id”
[*]数据类型为int(4)
[*]允许值为不空(NO)
[*]定义主键(Key 为 PRI)
[*]默认值为NULL(Default列为空)
[*]数据量设置为自增(Extra列为 auto_increment)
https://i-blog.csdnimg.cn/direct/125aad76d055461b94c26a61f88365e5.png
二. 设置属性为克制为空
设置克制为空也有两个情况:第一种情况是增加一个新的列(属性),并把它设置为克制为空状态。第二情况是将表中存在的某一列设置为克制为空。
2.1 数据表添加克制为空列
ALTER TABLE student ADD test int(4) NOT NULL;
设置数据表 student 增加 非空列 test
https://i-blog.csdnimg.cn/direct/2e04c10ea3b54b5db773d5f1f2d50bab.png
测试是否添加乐成
SHOW COLUMNS FROM student LIKE 'test';
https://i-blog.csdnimg.cn/direct/a151b9ea16584a5a9923885f36d31c3b.png
2.2 实验添加为空
先正常添加数据,测试之前代码正确性。
INSERT INTO student (name,sex,age,test) VALUES ('测试','男','19','1');
添加数据
SELECT * FROM student;
查察表中所有的数据
查察表中所有的数据 结果如下,添加乐成。
https://i-blog.csdnimg.cn/direct/3334c844f7214370842cad1c5f841106.png
添加第一种错误数据。添加age为空的数据,以是这里说明在代码中不能直接设置为空数据。
INSERT INTO student (name,sex,age,test) VALUES ('测试1','男','','1');
添加数据
添加age为空的数据,以是这里表名在代码中不能直接设置为空数据
https://i-blog.csdnimg.cn/direct/556ad360f7f6405eb2fb657d7cdc7e61.png
添加第二种错误数据。添加位置如下图所示:
[*]第一步双击红色框 student
[*]之后就会弹出黄色框的内容,假如没有自动切换已往,手动点击即可
[*]点击下方绿色加号
[*]输入完数据之后,点击加号那一列第三个符号“对号”完成输入
https://i-blog.csdnimg.cn/direct/ca71e0f9d3a44c27bf569ecc41958979.png
只添加属性 test 的内容,可以添加乐成。
https://i-blog.csdnimg.cn/direct/87eb153e2d4c4b478657ec51198c5987.png
添加其他四个属性的值,不添加 test 属性,报错。https://i-blog.csdnimg.cn/direct/d06b2f423bfc44b3ac69a193e39e554b.png
通过控制变量法可以判断非空已经生效。
2.3 设置数据表某一列为非空
首先执行下列命令删除 test 列,由于我的风俗是测试数据即使删除。
ALTER TABLE student DROP test;
删除 student 表 test 属性。
通过选中测试数据,点击红色地区内的减号,删除数据。
https://i-blog.csdnimg.cn/direct/fe58c757a42d49039280c08db015185f.png
ALTER TABLE student CHANGE name name VARCHAR(20) NOT null;
将 student 表中的 name 设置为非空
命令原型:ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [约束];
https://i-blog.csdnimg.cn/direct/7b1e602d0bb44ae2991cbf5dc0e74fec.png
测试过程忽略,测试结果乐成。MySQL数据库主键自增长删除后ID存在不一连的问题,这是正常的,可以通过手动输入代码的办法更改数据。下图为设置“name”为空。https://i-blog.csdnimg.cn/direct/fc9bc34118374fb4bb38442127fa121c.png
三. 设置属性为唯一值
设置克制为唯一值有两个情况:第一种情况是增加一个新的列(属性),并把它设置为唯一值的状态。第二情况是将表中存在的某一列设置为唯一值。常见的有邮箱号不能重复使用,电话号,身份证号码登不能重复使用。
3.1 数据表添加唯一列
ALTER TABLE student ADD test int(4) NOT NULL;
设置数据表 student 增加 非空列 test
https://i-blog.csdnimg.cn/direct/e3dbd89422ee484f9b776f4b6d6b8c81.png
测试是否添加乐成
SHOW COLUMNS FROM student LIKE 'test';
https://i-blog.csdnimg.cn/direct/ffdeca4e3ad548d8b6a6b3e3d06b591f.png
3.2 实验添加重复数据
第一步:给“张三”添加“123”
https://i-blog.csdnimg.cn/direct/40131d1270364af296ee029feae53469.png
第二步:给“李四”添加“123”。添加失败。
https://i-blog.csdnimg.cn/direct/f991950a94224349b45a2bee6509bacc.png
3.3 设置数据表某一列为唯一值
ALTER TABLE student CHANGE name name VARCHAR(20) UNIQUE;
将 student 表中的 name 设置为唯一值
命令原型:ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [约束];
https://i-blog.csdnimg.cn/direct/d75243df662740fca521815aaa802bd3.png
四. 设置默认
ALTER TABLE student ADD post char(4) DEFAULT('弟子');
设置默认值为弟子
https://i-blog.csdnimg.cn/direct/061b4eed326748cebf29a3a6690b254c.png
刷新查察显示如下
https://i-blog.csdnimg.cn/direct/865e97acb80a41228c47db0584d215ef.png
五. 删除旧表创建新表
DROP TABLE student;
删除数据表
https://i-blog.csdnimg.cn/direct/df28de212c0644b6b6f7bfee92779126.png
创建一个新的数据表
CREATE TABLE student(
id INT(4) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
tel INT(11) UNIQUE,
sex char(1),
position VARCHAR(4) DEFAULT('学生'));
/* id主键自增,name 非空,tel 唯一,sex 正常字符型,position 职位默认学生 */ https://i-blog.csdnimg.cn/direct/f64e053bc2354510a2926cdcda3d2827.png
添加数据
INSERT INTO student
(name,tel,sex)
VALUES
('张三','1516666777','男'),
('张四','1516666778','男'),
('李三','1516666779','女'),
('李五','1516666780','男');
/* 插入四条数据。id是自增的,职位默认,所以不需要添加*/ https://i-blog.csdnimg.cn/direct/c23eb2cafc124aab97013f06c3219480.png
查察数据
https://i-blog.csdnimg.cn/direct/a96042fd44e648eaaa3796564d6de49a.png
数据表中的某一列就是表的某一个属性。
主键:数据库表中用于唯一标识每条记载的一列或一组列。主键在每个数据表中只能存在一个。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]