简单的增 删 改 查

简介: 一:insert语句into 关键字是可选的values关键字前面的()是可选的,这里是要接收数据的列values后面,有两种方式提供值1:显式的给出值  2:从select语句中导出值 insert语句注意几点1:不要理标志列,系统会给你插入的2:给出实际的值,如果没有,那就null3:给出默认的值,default关键字,告诉数据库取默认值 insert into .

一:insert语句
into 关键字是可选的
values关键字前面的()是可选的,这里是要接收数据的列
values后面,有两种方式提供值
1:显式的给出值  2:从select语句中导出值

insert语句注意几点
1:不要理标志列,系统会给你插入的
2:给出实际的值,如果没有,那就null
3:给出默认的值,default关键字,告诉数据库取默认值

insert into ... select
什么时候会这么用,当成批的数据来自
1:数据库中的另一个表
2:同一台服务器完全不同的数据库
3:另一个SQLSERVER的数据库
4:来自同一个表中的数据
说实在的2和3我从来没用过

好,看一个例子
declare @mytable table
(
 id int,
 sortid int
);
insert into @mytable  (id,sortid)  select id,classid from product;
select * from @mytable;
注意我定义了一个表的对象
每一句之间是用分号隔开的
(id,sortid)  是可以忽略的


二:update语句
看例子
update e set e.flag = 'm'   from  employee  e  join contact ce on e.id = ce.employeeid where ce.name = 'jo'
这里用到了join子句,当然是可以用的
如果修改不止一列  只要加一个逗号
set   num = num * 1.2当然可以写表达式

三:delete语句
delete from actors from actors a  left join film f on a.filmid = f.filmid where f.filmid is null
outer连接将在没有匹配的一端返回null,
这里也就是film表没有匹配的行是null
注意   is null  的写法

四: select语句
这里还是不说了,还是多说说子句吧

五:where子句
1:
=    >     <    >=  <=    <>  !=  !>  !<
其中<>  与 !=都是不相等的意思
!>与!<不怎么常见,但仔细想想也没什么用处 

2:
and   or   not  
如果一个where子句中同时出现这三个操作符
最先评估not   然后是and  然后是or 

3:
between 例子 between 1 and 5   这个就不多说了 

4:
like   例子:like "xland%"
%和_是通配符
%代表零个或多个任意字符
_表示单个任意字符
把字符包括在方括号中
[a-c]表示a b c都可行
[ab]表示a或b
^与not表示下一个字符将被排除掉 

5:
in  例子  in ( 1,2,3)   这个也不多说了

六:order by子句
order by由于比较常用  我这里就不多说了
1:order by username  是可以识别中文的(sql先把中文转换成拼音再进行排序)
2:可以对 查询到的表中的任何列 进行排序  无论该列是否包含在select列表中
3:基于多个列的order by  
      例如:order by addtime,id
      先按时间排序,再在这个基础上根据id排序,你也看到了,性能是有很大幅度的降低的

七:distinct关键字
select  count(distinct  column) from table
检索某一列不重复的记录数

八:group by  聚集函数  和 having子句
先看例子:
select   orderid sum(orderMoney) from sales where orderid between 3 and 123 group by orderid
注意这里的orderid在表里是有可能重复的
这个语句的作用是检索出orderid从3到123的记录,
然后在这个记录集合上  以orderid分组
把orderid相同的数据分到一组  (这一组就是最终结果的一条记录)
然后通过sum函数把各组的orderMoney数据相加,
结果是最终结果的第二个字段

我发现用group  by子句基本上都是和聚集函数一起用的
举几个聚集函数的例子
sum 求和
avg求平均数
min/max求最大和最小值
count(表达式|*)获取一个查询中的行数
只说说count吧:
count(coloum)如果这一列有null,那么这些null的行将不会计算在内 
count(*)将得到表里的所有行的数目
聚集函数不一定非和group by一起使用不可
(另外avg基本上都是和group by一起使用的)

having子句是在组上放置条件的
看例子
select   orderid sum(orderMoney) from sales where orderid between 3 and 123 group by orderid  having sum(orderMoney)>5
group by得到了一个记录的集合
然后通过having子句,再在这个集合上做筛选

目录
相关文章
|
4月前
|
关系型数据库 MySQL 数据库
|
5天前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
1月前
|
SQL 数据库连接 API
ThinkPHP6实现增删改查接口
ThinkPHP6实现增删改查接口
29 1
|
1月前
|
XML 数据库 数据格式
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
这篇文章是Spring5框架的实战教程的终结篇,介绍了如何使用注解而非XML配置文件来实现JdbcTemplate的数据库操作,包括增删改查和批量操作,通过创建配置类来注入数据库连接池和JdbcTemplate对象,并展示了完全注解开发形式的项目结构和代码实现。
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
|
1月前
|
SQL XML Java
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
这篇文章是Spring5框架的实战教程,详细讲解了如何使用JdbcTemplate进行数据库的增删改查操作,包括在项目中引入依赖、配置数据库连接池、创建实体类、定义DAO接口及其实现,并提供了具体的代码示例和测试结果,最后还提供了完整的XML配置文件和测试代码。
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
|
1月前
|
关系型数据库 MySQL 大数据
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
143 2
|
21天前
|
开发工具 数据安全/隐私保护 索引
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
|
21天前
|
关系型数据库 MySQL 数据库
MySQL数据库的增删改查
MySQL数据库的增删改查
12 0
|
29天前
|
SQL 关系型数据库 MySQL
"Python与MySQL的浪漫邂逅:一键掌握增删改查,开启你的数据库编程之旅!"
【8月更文挑战第21天】Python因其简洁的语法和强大的库支持,成为连接数据库的首选工具。本文介绍如何使用Python连接MySQL数据库并执行基本操作。首先需安装`mysql-connector-python`库。通过配置连接信息建立数据库连接后,可利用`cursor.execute()`执行SQL语句进行数据的增删改查,并通过`commit()`提交更改。查询时使用`fetchall()`或`fetchone()`获取结果。记得处理异常及关闭连接以释放资源。掌握这些基础,有助于高效进行数据库编程。
27 0
|
1月前
|
druid Java 数据库连接
SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池,以及实现增删改查功能
SpringBoot项目整合MybatisPlus和Druid数据库连接池,实现基本的增删改查功能。
152 0