要求建立如图所示的MySQL表格:
- 首先创建(学号,姓名,性别,年龄)的表格,为学号创建唯一索引
- 增加学生身份证以及手机号字段信息(使用整型数据类型)
- 删除身份证字段名
- 查看表结构
- 设置学生姓名非空
- 设置学生姓名默认值为ABC
- 插入学生信息
- 检索查看所有学生信息
- 更新小于年龄信息
- 将学号信息设置为主键
- 将手机号字段设置为唯一约束
- 将学号设置为自动增长类型
- 删除表中数据
- 删除手机号的唯一约束
- 删除自动增长属性
- 删除主键唯一约束
- 删除表
- 删除数据库
在CMD命令行下,登陆数据库
mysql -uroot -p密码;
查看当前所有的数据库
show databases;
调用某个数据库
use 数据库名;
查看当前库中的所有表
show tables
创建数据库名three_group;
create database three_group;
调用数据库
use three_group;
创建三组的组员表格stu(学号,姓名,性别,年龄)
create table stu(s_m int(10),s_name varchar(20),gender varchar(2),s_age int(2));
为表增加组员手机号信息以及身份证信息
alter table stu add s_tel int(11);alter table stu add s_card int(18);
查看表以及数据类型信息
desc stu;
删除stu表中的身份证信息
alter table stu drop s_card;
设置姓名非空
alter table stu modify s_name varchar(20) not null;
设置姓名默认值为ABC;
alter table stu modify s_name varchar(20) default "ABC";
插入数据;
insert into stu values(2019060310,'小于','男',18,16627715065);
修改手机号长度
insert into stu values(2019060310,'小于','男',18,1662771506);
可以插入,所以对int字段的限制因素+1;
alter table stu change s_tel ss_tel int(12);
仍然不成功,数据限制错误,
报错数据超过最大限制对?
int范围进行查询。
-2147483648 <int < 2147483647
11位手机号超过最大承受范围
删除stu表中的所有数据(仅删除数据,不删除表)
delete from stu;
对s_tel数据类型int进行表数据类型更改为bigint
alter table stu modify ss_tel bigint(11);
此处change和modify 区别:
- change,除了数据类型,同时修改字段名
- modify 可仅修改数据类型。
修改刚才因为使用change而修改的字段名ss_tel;
alter table stu change ss_tel s_tel bigint(11);
为表中插入数据:(此数据是根据Excel数据晚上的)
eExcel使用Choose命令
="insert into stu values("&A2&",'"&B2&"','"&C2&"',"&D2&","&E2&");"
insert into stu values(2019060310,'小千','男',18,16627725065);insert into stu values(2019060311,'小香','女',18,16627726066);insert into stu values(2019060312,'小马','男',19,16627727067);insert into stu values(2019060313,'小娟','女',18,16627728068);insert into stu values(2019060314,'小慧','女',18,16627729069);
查看stu表中所有数据:
select * from stu;
发现小于年龄有误,年岁20,竟然冒充18;
对小于信息进行修改(即更新数据):
update stu set s_age=20 where s_name="小于";
将学号信息设置为主键;
alter table stu add primary key(s_m);
保证数据表中的字段唯一性,为字段手机号增加唯一约束:
alter table stu add unique(s_tel);
学号具有连贯性,为学号增加为自动增长类型,
自动类型注意事项:必须是整型,且必须为主键;
alter table stu add auto_increment(s_m);
自动增长类型,除了在建表的时候,加到primary key后面,
在后期增加的时候,要使用修改数据类型的方式进行更改;
alter table stu modify s_m int(10) primary key auto_increment;
如果报错,主键重复,在前期已经做出修改,将primary key给去掉即可成功增加:
alter table stu modify s_m int(10) auto_increment;
仅删除表中数据
delete from stu;
查看unique约束
show index from stu;
删除unique约束
alter table stu drop index s_tel;
修改自增列的启始值为n
alter table stu auto_increment=n;
删除自动增长属性
alter table stu modify s_m int(10);
删除主键约束
alter table stu drop primary key;
删除数据表
drop table stu;
删除数据库
drop database 库名;