毅力和自控力是很可怕的东西,因为99%的人根本不具备这种品质,拥有它你就比大多数人要强。



mysql删除表主键语句 mysql删除主键的语句_字段

趣味杂谈


《原则》原文:但我不敢确信这场转型会顺利,因为我没有经历过这样的事情。我做事的方式是试错:犯错,找出错误原因,总结出新的原则,最终成功。而我觉得应该以同样的态度对待这场转型。

本书主人公瑞从自己切身体会谈自己,胜过国内大多数鸡汤。就国内教育体系来看,普通人能接受犯错的成本是很高的,而且随着年龄的增长,这种成本只会越来越高。就好比有的犯错成本会让你直接无法翻身,很多时候就算知道了原因,也很难再次尝试,或许这也是强人和普通人的区别,面对自己的错误是个很痛苦的过程,剥离出情绪来理智面对这一点,也已经很强大了。当然,厉害的人也知道,失败才是人生路上的常态,成功是路上偶然出现的美景。

还有一点就是:犯错并不可怕,可怕的是,不去纠正导致将错就错。


简忆上次所学知识:MySQL的记录长度为65535个字节,而varchar是达不到它的理论长度的,NULL占用一个字节,text文本不占用记录长度,因为它本身就占据十个字节。 这里继续学习与MySQL列属性相关知识:关于主键的增,改,删。 主键

主键:primary key (一张表中最多只能有一个主键)

主键,简而言之为主要的键,一张表中只能有一个字段可以使用对应的键,用来约束该字段里面的数据,不能重复,被称之为主键 。 增加主键:SQL操作中有多种方式可以给表增加主键,大体上分为三种:

一.在创建表时,直接写在字段之后(优点:非常直接,缺点:只能使用一个字段作为主键)

相关语句:


create table my_pril(name varchar (20) not null comment '姓名',number char (10) primary key comment '学号: itcast +0000,不能重复' )charset utf8;


执行后查看创建结果:


mysql删除表主键语句 mysql删除主键的语句_mysql删除表主键语句_02


运行结果:PRI代表主键(大部分时候),NULL为no,即主键本身不为空 二.创建表的时候,在字段之后,可以使用primary key(主键字段列表)来创建(如果有多个字段作为主键,可以称之为复合主键)

相关语句:


-- 复合主键create table my_pri2(number char(10) comment '学号: itcast + 0000',course char(10) comment '课程代码:01 + 0000',score tinyint unsigned default 60 comment '成绩',-- 增加主键限制:学号和课程号是对应的,具有唯一性primary key (number,course))charset utf8;


执行后查看创建结果:


mysql删除表主键语句 mysql删除主键的语句_mysql删除表主键语句_03

三.当表已经创建好之后,额外追加主键:可以通过修改字段属性,也可以直接追加Alter table 表名 add primary key(字段列表); 

前提:表中字段对应的数据本身是独立的(即不重复)


相关语句:


-- 追加主键create table my_pri3(course char(10) not null comment '课程编号:001+0000',name varchar(10) not null comment '课程名字')charset utf8;-- 添加的两种方法:1:alter table my_pri3 modify course char(10) primary key comment '课程编号:001+0000' ;2:alter table my_pri3 add primary key (course);


执行后查看结果:


mysql删除表主键语句 mysql删除主键的语句_mysql删除表主键语句_04


主键约束(修改数据)


主键对应的字段中的数据不允许重复:一旦重复,数据操作就会失败(增和改)


相关语句:


-- 向表中插入数据insert into my_pril values ('小明','itcast0001'),('小Bob','itcast0002');insert into my_pri2 values ('itcast0001','010000',90),('itcast0001','011000',95),('itcast0002','010000',90);-- 主键冲突(重复)insert into my_pril values('小白','itcast0002'); -- 主键冲突(保证数据唯一性)insert into my_pri2 values ('itcast0001','010000',100);-- 冲突


执行后查看报错信息:


mysql删除表主键语句 mysql删除主键的语句_主键_05


删除主键


因为主键无法更新:所以只能先删除,再增加。

语句示例:alter table 表名 drop primary key;


相关语句:


删除主键alter table my_pri3 drop primary key;


执行后查看删除信息:


mysql删除表主键语句 mysql删除主键的语句_主键_06

mysql删除表主键语句 mysql删除主键的语句_字段_07