首页 > 数据库 >SQLCookbook 学习笔记 4插入 更新 删除

SQLCookbook 学习笔记 4插入 更新 删除

时间:2022-10-09 14:01:09浏览次数:52  
标签:insert into 笔记 插入 emp 默认值 SQLCookbook select


插入语句

<span style="font-size:18px;">insert into dept (depto,dname,loc) values (1,'A','B')</span>


在所有数据库系统中,插入语句都是一样的。


插入默认值
insert into d (id) values ( default )
使用关键字 default ,显式地指定插入默认值,而不用管默认值是什么 。

在MySQL中,如果所有列都有默认值,可以使用空的列值。
insert into d vales ()

对于有的列有默认值,有的列没有默认值的情况,在插入时候,只需要将有默认值的列 排除在外,自然就插入默认值了。

可以使用NULL 代替默认值,插入语句为:
insert into d (id, foo) values (null, 'Brightren')

可以在insert 语句中明确使用NULL值, 这样可以给该列指定为空值,而不管它是否有默认值。

从一个表向另外的表中 复制行
insert into d (column_1,column2) 
select column_1,column2 from d2 where id = 2;

如果要复制所有行,就不需要where 子句。


复制表定义
create table dept_2 
as 
select * from  dept where 1 = 0 

阻止对某几列的插入
创建一个视图
create view new_emp  as 
select ename,job from emp

insert into new_emp (ename, job) values ('Mike','Editor')


或者内联为
insert into 
(select ename,job from emp) 
values  ('Mike','Editor')

视图的插入操作是一个复杂的问题 。


更新操作


update emp set sal = sal *1.10 where deptno = 20;


在SQL中, 只有一种方法可以限制从表中返回的行,那就是使用WHERE子句。

删除
delete from emp
delete from emp where some condition

当需要删除单个记录时,一般使用主键或其他唯一的关键字来作为判别条件。

delete from emp where deptno not in (select deptno from dept)


删除重复记录
delete from dupes where
id not in (select min(id) from dupes group by names)
这个句子会吧 names 字段重复的,删除,只剩下id最小的一个。

聚集函数
聚集就是聚集运算

查询发生过3次以上事故的员工

select deptno from dept_accident group by depno
having count(*)  >= 3

having子句。

前4章介绍了基本的 增删改查操作。

标签:insert,into,笔记,插入,emp,默认值,SQLCookbook,select
From: https://blog.51cto.com/u_15815563/5740305

相关文章

  • SQLCookbook 学习笔记 6 字符串
    引号必须成对出现,两个引号之间没有任何值得时候,表示空串,并不是null,在MySQL中在返回结果的时候,使用replace函数selectreplace(user_name,'2','two')asnewfromuser_info......
  • SQLCookbook 学习笔记 2结果排序
    selectnamefromemporderbysalary;ORDERBY默认是按照升序排列,当需要倒序时用ORDREBYsalaryDESCORDERBY 不一定要基于列名,也可以用数字表示基于第几列:......
  • 20201306吴龙灿第三章学习笔记
    目录Ⅰ知识点归纳1.进程的概念·什么是进程?·进程的特征动态性并发性独立性异步性结构性·程序和进程主要区别2.多任务处理系统(1)背景(2)多任务处理系统代码介绍3.进程同步(1)同......
  • java----冒泡,选择,插入排序
    1.冒泡排序packagelearnday06排序;//动态录入往数组里录入n个数字,并用冒泡排序importjava.util.Arrays;importjava.util.Scanner;publicclassMaopaopaixu{ publ......
  • JavaScript高级程序设计笔记01 什么是JavaScript
    什么是JavaScript1995年问世。最初在客户端处理某些基本的验证。名字:Mocha->LiveScript->JavaScriptECMAScript脚本语言标准:ECMA-262(TC39,第39技术委员会)完整的的J......
  • JavaScript高级程序设计笔记02 HTML中的JavaScript
    HTML中的JavaScript<script>元素形式行内其中的代码会被从上到下解释。计算完成之前,页面其余内容不会被加载,也不会被显式。外部下载与解析都会阻塞HTML解析,扩展......
  • 使用sharding 做分库分表以后,插入报错 Executing an update/delete query
    这个问题倘若没有 sharding,那就是在service层缺少了事务注解@Transaction这个问题具体看这里​ 我是跑测试类跑出来的问题,好像做分库分表,不能用测试类来测,只能通过 con......
  • JAVA Spring学习笔记------MVC
    SpingMVC首先我没接触过页面开发这里只简单的介绍如何通过spring利用注解的形式搭建一个简单的页面首先我们配置pom文件先加入两个依赖<dependency><gro......
  • 从搭建到实战,看看这篇robotframework框架深度学习笔记
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试RobotFra......
  • Jenkins 20221008笔记本7
                        ......