常用的mysql操作

总结一下常用的mysql操作,避免下次遇到类似情况重复地去百度。

方法不是唯一的,但记录一种可行的方法就可以了。

遇到新的问题再继续补充。

1.增加一个列

ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 其他;

举例:ALTER TABLE student ADD COLUMN sex VARCHAR(256);

2.删除一个列:

ALTER TABLE 表名 DROP COLUMN 字段名;

举例:ALTER TABLE student DROP COLUMN sex;

3.修改列名

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段类型;

举例:ALTER TABLE student CHANGE stuname name varchar(128);

4.修改列类型

同修改列名是一样的;

5.增加主键

ALTER TABLE 表名 ADD PRIMARY KEY(主键字段);

举例:ALTER TABLE student ADD PRIMARY KEY(id);

6.删除主键

ALTER TABLE 表名 DROP PRIMARY KEY;

举例:ALTER TABLE student DROP PRIMARY KEY;

 CREATE TABLE class(
id INT PRIMARY KEY,
calssname varchar(256)
); CREATE TABLE student(
id int,
name varchar(256),
class int
); INSERT INTO class VALUES(2,'erban'); INSERT INTO student VALUES(1,'chxy',2); /*
sutdent 表中的class属性引用class表中的id属性
student是子表,class是父表
*/

7.增加外键

ALTER table 表名 ADD CONSTRAINT constraint_name FOREIGN KEY(外键字段) REFERENCES 父表(父表外键字段);

举例:ALTER table student add CONSTRAINT sutdent_class_fk FOREIGN KEY(class) REFERENCES class(id) ON DELETE CASCADE;

可能产生的错误有:1822 - Failed to add the foreign key constraint. Missing index for constraint 'sutdent_class_fk' in the referenced table 'class'

错误原因是:被引用的属性在父表中不是主键。在父表中将该属性设为主属性即可。

引用:

设置外键的时候需要注意以下几点:
(1)外键是用于两个表的数据之间建立连接,可以是一列或者多列,即一个表可以有一个或多个外键。
(2)这个表里面设置的外键必须是另外一个表的主键!
(3)外键可以不是这个表的主键,但必须和另外一个表的主键相对应(字段的类型和值必须一样)。
(4)带有主键的那张表称为父表,含外键的是子表,必须先删除外键约束才能删除父表

https://blog.csdn.net/Nurbiya_K/article/details/101560650

8.外键对更新和删除的限制:

当主表中对被引用的属性进行删除和更新时,规定从表中的引用属性如何变化。

on delete 规则

on update 规则

规则有以下三种:

set null    表示在外键表中将相应字段设置为null
set default 表示设置为默认值
cascade 表示级联操作,就是说,如果主键表中被参考字段更新,外键表中也更新,主键表中的记录被删除,外键表中也相应删除。

举例如下:

ALTER table student add CONSTRAINT sutdent_class_fk FOREIGN KEY(classid) REFERENCES class(id) ON DELETE CASCADE;

class表中的一条记录删除,也会导致student表中的一条记录被级联删除。

9.删除外键

ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

举例:ALTER TABLE student drop FOREIGN KEY student_class_fk;

上一篇:二探ListView


下一篇:【Android测试】【第十七节】Instrumentation——App任你摆布(反射技术的引入)