mysql限制电话号码 mysql电话号码长度11位约束_mysql约束

要求建立如图所示的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 库名;