增 alter
删 delete
改 update
查 select
DML
01 数据库操作数据语句 (insert update delete)
update
语法结构:
update 表名 set 字段=新值,… where 条件;
具体操作:
update stu1 set name="zhangsan" where id=6;
delete
语法结构:
delete from 表名 where 表达式;
具体操作:
delete from stu1 where id=7;
避免update或delete语句对数据产生破坏:
方式一:利用事务机制,对数据进行操作
begin;
commit;
失败则rollback
方式二:使用update或delete时,必须加上where,若不加会报错(数据库安全模式设置)
sql_safe_updates=1 -- 激活数据库安全模式
全局生效:对多有用户生效
临时激活此功能:
set global sql_safe_updates=1;
永久激活此功能:
echo 'set global sql_safe_updates=1;' >/opt/init.sql
chmod +x /opt/init.sql
vim /etc/my80.cnf
[mysqld]
init-file=/opt/init.sql
局部配置:只针对部分客户端生效
方式一: 配置文件编写客户端信息
[mysql]
safe_updates=1
mysql --defaults-file=/etc/my80.cnf
方式二:客户端连接时,利用参数激活安全模式功能
mysql --defaults-file=/etc/my80.cnf -U
方式三:避免删除对数据的损坏(删除--伪删除)
实现思路,额外添加状态列,可看状态为1 ,不想看为0;
ALTER TABLE `oldboy`.`stu1` ADD COLUMN `state` INT UNSIGNED NOT NULL DEFAULT 1 AFTER `dept`;
伪删除某列信息
update stu1 set state=0 where id=6;
查看数据信息
select * from stu1 where state=1;
