5.SQL语句之DCL数据控制语言和DML数据操作语言
孙富阳, 江湖人称没人称。多年互联网运维工作经验,曾负责过孙布斯大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型博客网站运维工作。
1.DCL数据控制语言
grant、revork具体的可以参考基础管理的权限管理部分
2.DML数据操作语言
1.作用
对表中的数据进行增删改查
2.向表中插入数据insert
###全部列都插入数据
mysql> insert into test.stu (id,stusname,age,gender,telnu,addr) values (2,'张三',18,'M','110','bj');
###全部列都插入数据可以省略列名
mysql> insert into test.stu values (3,'张三',18,'M','110','bj');
###插入多列
mysql> insert into test.stu values (4,'张三',18,'M','110','bj'), (5,'李四',18,'M','110','bj');
###向某一列插入数据
mysql> insert into test.stu (id,stusname,addr) values (2,'张三', 'bj');
#查询表中所有数据
mysql> select * from test.stu;
3.更新表中数据update
#修改表中的内容,修改stusname列的值为zaa 在id=6的行
mysql> update test.stu set stusname='zaa' where id='6';
#如果不加where的话,所有stusname的列都会替换为zaa,所以可以开启安全模式
#查询安全模式
mysql> show variables like '%safe%';
#设置为开启
mysql> set global sql_safe_updates=1;
#设置是永久生效的,但是需要断开重连才生效
#当然可以将参数写入mysql的配置文件里
4.删除表中数据delete
mysql> delete from test.stu where id='6';
5.彩蛋(伪删除)
a.数据不要了,删除有风险,应该怎么做
增加一个状态列,有用的数据状态设置为0,无用的数据状态设置为1
mysql> alter table test.stu add stats tinyint not null default 0 comment '0为有用数据,1为无用数据';
查询有用的数据加一个where stats=0
mysql> select * from test.stu where stats=0;
未经允许不得转载:孙某某的运维之路 » 5.SQL语句之DCL数据控制语言和DML数据操作语言
评论已关闭