mysql常用操作:插入操作;表、列操作;主键外键操作

本文介绍如何使用SQL进行表结构的基本管理操作,包括插入数据、修改表名、列类型及名称等,并详细阐述了如何更新数据、增加和删除列、设置主键及外键约束等高级操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插入数据:

insert into <table_name> ( field1, field2,...) values ( value1, value2,... );

修改表名:

alter table <table_name> rename <new_name>;

修改列类型:

alter table <table_name> modify <column_name> <字段类型>;

修改列名:

alter table <table_name> change  column <column_name> <new_name> <字段类型>;


更新操作:

update <table_name> set <operation> where <condition>;


1、更新时报错:Error code 1175: you are using safe update mode and you tried to update a table without...

原因:设置set SQL_SAFE_UPDATES=0;

增加列:

alter table <table_name> add column <column_name> <字段类型>;


删除列:

alter table <table_name> drop column <column_name>;


添加主键:

alter table <table_name> add primary key(column_name);


添加外键:

alter table <table_name> add constraint <foreign_key_name> foreign key(column_name) REFERENCES <foreign_table_name>(column_name) (on update <cascade/set null/restrict> on delete <cascade/set null/restrict>);
其中最后括号中的部分为级联操作,update为主表中更新时对应操作,delete为主表中删除时对应操作:

1) cascade: 主表中更新或删除,对应表中也更新或删除;

2) set null: 主表中更新或删除,对应表中设为null;

3) restrict:主表中更新或删除,对应表中不执行相关操作。

如果括号中的部分省略,则默认执行restrict操作。

删除外键:

alter table <table_name> drop foreign key <foreign_key_name>;


1、创建外键时报错:errorno:121 cannot create table...   

原因:外键的名字不能重复,和其他表的外键名字(foreign_name)不能相同

2、删除列时报错:errorno150

原因:删除的列是外键列,无法直接删除,需先删除外键再删除列

3、删除外键报错:errorno 152

原因:无法使用外键对应的字段名直接删除,需要使用外键名删除,所谓外键名是给外键设置的名字,在表属性中可以找到。

4、删除主表中数据报错:Error Code1451 cannot delete or update  a parent row

原因:主表中有字段被设为其他表中的外键,解决方法为设置SET FOREIGN_KEY_CHECKS = 0。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值