温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

05 数据操纵语言

发布时间:2020-08-05 20:16:11 来源:网络 阅读:596 作者:l363130002 栏目:关系型数据库

1 数据操纵语言

  • 数据操纵语言用于检索、插入和修改数据
  • 数据操纵语言是最常见的SQL命令
  • 数据操纵语言命令包括:

SELECT 查询
INSERT 添加
UPDATE 修改
DELETE 删除

2 SELECT命令(查询)

2.1 查询表中记录

SELECT * FROM EMP; --查询所有员工信息

2.2 利用现有的表创建表

语法:CREATE TABLE new_table_name AS
SELECT column_names FROM old_table_name;
05 数据操纵语言

2.3 选择无重复的行(DISTINCT关键字)

在SELECT子句,使用DISTINCT关键字

SELECT DISTINCT emp_name FROM emp;

2.4 使用列别名

为列表达式提供不同的名称
该别名指定了列标题

select emp_id,emp_name,emp_sex,emp_birthday,emp_salary*2 from emp;

 select emp_id,emp_name,emp_sex,emp_birthday,emp_salary*2 as "双倍薪资" from emp;

3 INSERT命令(添加)

3.1 添加记录

insert into emp (emp_id,emp_name,emp_sex,emp_salary)
values(2,'李四','女',3000);

3.2 插入日期类型的值

  • 日期数据类型的默认格式为“DD-MON-RR”
  • 使用日期的默认格式
  • 使用TO_DATE函数转换

insert into emp (emp_id,emp_name,emp_sex,emp_birthday,emp_salary)
values(5,'李四','女','12-12月-2017',3000);

insert into emp (emp_id,emp_name,emp_sex,emp_birthday,emp_salary)
values(6,'李四','女',to_date('2017-12-12','YYYY-MM-DD'),3000);

3.3 插入来自其它表中的记录

INSERT INTO table_name SELECT column_names FROM other_table_name;

insert into emp2 select * from emp;

insert into emp2(emp_id,emp_name) select emp_id,emp_name from emp;

4 UPDATE命令(修改)

update emp set emp_name = '张三',emp_sex='男' where emp_id='3'

5 DELETE命令(修改)

delete from emp --删除所有记录
delete from emp where emp_id=1 --删除一条记录

6 DROP、TRUNCATE和DELETE的区别

(1) 日志记录

  • DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
  • TRUNCATE TABLE则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快

(2) 表和索引所占空间

  • 当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小
  • DELETE操作不会减少表或索引所占用的空间。
  • DROP语句将表所占用的空间全释放掉。

(3) 效率

drop > truncate > delete

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI