在MySQL数据库中,DML(Data Manipulation Language)是指用于操作数据的语言,包括插入、更新和删除数据等操作,本文将详细介绍这些操作及其常见错误1048的解决方法。
一、DML基本操作
1. 插入数据(INSERT)
向表中插入一行
-方式一:没有指明要添加的字段,要按照声明字段的先后顺序添加 insert into emp1 values(1,'wanli','2022-12-12',4000); -方式二:指明要添加的字段,没有指明的字段值为null INSERT INTOgrade
(gradeid
,gradename
) VALUES('11114','大七');
向表中插入多行
INSERT INTO dependents (first_name, last_name, relationship, employee_id) VALUES ('Avg','Lee', 'Child', 192), ('Michelle','Lee', 'Child', 193);
将查询结果插入表中
INSERT INTO dependents_archive SELECT * FROM dependents;
2. 修改数据(UPDATE)
更新一行
-修改语句 表名 属性 条件 UPDATE employees SET last_name = 'Zhang' WHERE employee_id = 192;
更新多行
-把所有工资低于2500的员工全部提高到3000 UPDATE employees SET salary=3000 WHERE salary<3000;
带有子查询的更新
UPDATE dependents SET last_name = (SELECT last_name FROM employees WHERE employee_id = dependents.employee_id);
3. 删除数据(DELETE)
删除指定条件的行
DELETE FROMstudent
WHERE id=1;
TRUNCATEstudent
;
二、MySQL 1048错误的解决
MySQL 1048错误的具体描述是:“Column cannot be null”,即“列不能为空”,当向数据表中插入或更新数据时,如果指定的列为非空(NOT NULL)类型,并且在插入或更新操作时该列的值为空(NULL),就会触发MySQL 1048错误。
Error Code: 1048. Column ‘name’ cannot be null。
1、检查必填字段是否有值:确保在插入或更新操作时,必须填写的字段有值,如果没有值,可以为其赋一个默认值。
UPDATE table_name SET name = 'value' WHERE condition;
2、去掉非空约束:如果不能确定数据非空,可以选择去掉该列的非空约束。
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(255) NULL;
3、开启警告功能:在MySQL配置文件中添加sql_mode=STRICT_ALL_TABLES
,这样在遇到这种错误时会抛出警告。
[mysqld] sql_mode=STRICT_ALL_TABLES
三、FAQs
Q1:如何在MySQL中插入数据?
A1:在MySQL中可以使用INSERT语句插入数据,向表中插入一行:
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
也可以使用不带列名的方式插入数据:
INSERT INTO table_name VALUES (value1, value2, value3);
Q2:如何避免MySQL 1048错误?
A2:要避免MySQL 1048错误,可以采取以下措施:
1、确保在插入或更新操作时,必填字段有值。
2、去掉非空约束,如果不确定数据非空。
3、在MySQL配置文件中开启警告功能,提示用户必填字段不为空。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1411854.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复