mysql约束_MySQL表格基础操作及主键约束

262c7c78251508a9b56747e7575a7fb3.png

要求建立如图所示的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 库名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值