DML 数据管理语言 Data manage language

insert, update, delete以及select语句,不过,有人也把select单独出来,作为DQL 数据查询语言 data query language

insert,updatedelete都需要执行commit才能将数据真正写入到数据库中

select 查询

select语法:
select 字段列表:empno,ename,job....
from 表名1 [,table2]
where [条件:列名=值]
[group by 列名,列名2..] 分组统计查询
[order by 列名1 asc/desc] [,列名2 asc/desc]:
/*
where子名: 限定(筛选)查询结果,多个条件可使用and | or 连接多个查询条件
order by子名:对结果排序;asc升序,desc降序,默认升序
distinct: 消除重复列
*/

补充:

--下面两个语句等同
select s.* from student s;
select * from student s;
--查询的结果多出一列address
select s.*,address from student s
--需要知道某公司的员工的所有工作有哪些,就是使用distinct清除掉重复的
select distinct job from employee;
--取个别名 my job 别名如果有空格的就得用双引号,否则语法会有错误
select distinct job as "my job" from employee;
select distinct job as my_job from employee;
--求总记录数,使用count函数
select count(*) from employee;

高级查询之后补充联合查询..

insert 插入

insert语法1:
INSERT INTO <table_name>[(column...list)]
VALUES(value...list) insert语法2:
INSERT INTO <table_name> [(cloumn_list)]
SELECT column_names FROM <other_table_name>;
--插入一套数据,该数据只有列名1和列名2有值,得对应
insert into $tablename$(列名1,列名2) values(列名1 值1,列名2 值2)
--默认不写,得写完,得对应
insert into $tablename$ values(列名1 值1,列名2 值2...) insert into $tablename$.emp (几个列名) values(与列名保持一致) --字符串是单引号
commit; --不提交的话,放在数据缓存区中,只能在当前会话可以查询得到,其他会话Sention是查询不到的
roolback; --回滚 --把查询的结果插入到表中,列的顺序一一对应
insert into tablename
select * from table2name;

update 修改(更新)

语法:
UPDATE <table_name> SET <字段名1>=值1, <字段名2>=值2,…….
WHERE <条件1> AND[OR] <条件2>.......
update student set age=10
where num = 10; --如果可以用主键作条件那最好就是用主键去更新,and or 多重条件 update student set age = age+1
where num = 10;

delete 删除

语法:
DELETE [FROM] <table_name> WHERE <条件>
delete student where num = 10;

事务控制语言:TCL (commit, rollback, savepoint)

事务控制语言:TCL: Transaction Controll Language

  1. 事务是最小的工作单元,它作为一个整体进行操作, 此工作单元中的语句要么全部成功,要么全部失败不充许部分成功和部分失败
  2. 保证事务的整体成功或失败,称为事务控制
  3. 事务的四大特性ACID :

    原子性(Atomicity )、一致性(Consistency )、隔离性(Isolation)、持久性(Durability )
  4. 用于事务控制的语句有:
    • COMMIT - 提交并结束事务处理
    • ROLLBACK - 撤销事务中已完成的工作
    • SAVEPOINT – 标记事务中可以回滚的点
update student where num=10;
savepoint s1;
insert into student where num=11;
rollback s1; --回退到了s1,也就是之后的插入数据操作撤销了
commit;

最新文章

  1. UVALive 2453 Wall (凸包)
  2. Problem of saving images in WPF (RenderTargetBitmap)zz
  3. 如何搭建NTP服务
  4. 数位DP CF 55D Beautiful numbers
  5. Delphi中如何实现滚动文字
  6. 【ubuntu】install openbox+tint2+bmenu on ubuntu12.04.4
  7. 大S《美容大王》内容80%都是没用的东西
  8. MonoRail学习:可重复组件ViewComponents的使用
  9. opal 将ruby代码转化成javascript
  10. 刚安装完jdk和eclipse需要配置什么?
  11. MVC上传文件目录至共享目录
  12. pay lip service to
  13. 当xcode里点运行出现treating unicode character as whites
  14. 【衡阳八中noip模拟题】国色天香
  15. MySQl 存储过程+游标
  16. [ext4]06 磁盘布局 - 特殊inode
  17. android的activity栈管理
  18. python验证码识别接口及识别思路代码
  19. python windows 安装jieba....
  20. 从sqlserver数据库中提取年月日并截取出来

热门文章

  1. 百度小程序 配置 app.json 文件
  2. Floyd求解最短路
  3. Codeforces Round #351(Div 2)
  4. 使用vue技术应当使用的技术和兼容性选择
  5. optistruct如何将多个约束置于一个约束集合中
  6. leetcode 111二叉树的最小深度
  7. EDM实例之15个节日邮件标题分享
  8. 安装python是提示 0x80072f7d 错误的解决办法
  9. Powershell 音乐播放
  10. UI自动化之读取浏览器配置