SQL2:数据操作
1.数据插入:
1)插入表中:
INSERT INTO TABLE_NAME VALUE('value1','value2',....);
2)从另一个表中插入数据:
INSERT INTO TABLE_NAME [('column1','column2',....)] SELECT [*/('column1','column2',....)] FROM TABLE_NAME [where condition];
3)插入空值NULL:
必须在对应的列插入
2.更新数据:
UPDATE TABLE_NAME SET CULUMN_NAME='value' [where condition];
3.删除数据:
DELETE FROM TABLE_NAME [where condition];
4.事务管理:
1)COMMIT:
用于把事务所做的修改保存到数据库,COMMIT提交上一个COMMIT或ROLLBACK之后的所有事务。
2)ROLLBACK:
用于撤销还没有保存到数据库中的数据库命令,上一个COMMIT或ROLLBACK之后的事务。
3)SAVAPOINT:
保存点是事务过程中的一个逻辑点,可以把事务回退到这个点而不必回退整个事务。 SAVAPOINT savapoint_name; ROLLBACK TO savapoint_name 回退到保存点。
4)RELEASE SAVEPOINT:
用于删除创建的保存点,RELEASE SAVEPOINT savapoint_name;
5)SET TRANSACTION:
用于初始化数据库事务,可以指定事务特性,SET TRANSACTION WRITE READ; SET TRANSACTION READ ONLY;
5.数据查询:
1)SELECT [* /ALL/DISTINCT COLUMN1,COLUMN2] FROM TABLE1 /TABLE2..;
2)SELECT [* /ALL/DISTINCT COLUMN1,COLUMN2] FROM TABLE1 /[TABLE2,...]
WHERE [condition1|expression1][and/or condition2|expression];
3)SELECT [* /ALL/DISTINCT COLUMN1,COLUMN2] FROM TABLE1 /[TABLE2,...]
WHERE [condition1|expression1][and/or condition2|expression]
GROUP BY COLUMN1|INTEGER [ASC|DESC];
4)SELECT COUNT(*) FROM table_name;统计表里的记录数
5)SELECT COLUMN FROM USER2.TABLE_NAME;从别的表里获取数据
6)SELECT CULUMN_NAME ALIAS_NAME FROM TABLE_NAME;使用别名
7)其他:
ORDER BY :对查询得到的数据进行排序,GROUP BY 对查询得到的数据进行排序进行适当的分组。
CUBE 和 ROLLUP :对分组数据进行小计,经常和GROUP BY一起使用
HAVING:SELECT FROM GROUP BY HAVING ORDER BY
6.SQL操作符:和WHERE配合使用
1)比较:
=(等于) ,<> (不等于) ,<(小于) , > (大于) ,<=,>=
2)逻辑:
IS NULL , BETWEEN , IN, LIKE(% 或 _) , EXISTS(condition), UNIQUE , ALL , ANY
3)求反:NOT
<> ,!(NOT EQUAL) , NOT BETWEEN , NOT IN , NOT LIKE , NOT EXIST , NOT UNIQUE , IS NOT NULL
4)算术:
+ , - , * , /
5)连接:
AND , OR
7.汇总函数:
1)COUNT:统计不为NULL的记录或字段
2)SUM:返回一组记录中某一个字段值的总和
3)MAX:返回一组记录中某一个字段值的最大值
4)MIN:返回一组记录中某一个字段值的最小值
5)AVG :返回一组记录中某一个字段值的平均值
8.常用字符函数:
1)TRANSLATE:搜索字符串里的字符并查找特定的字符,标记找到的位置,替换对应的字符。
TRANSLATE(character set,from_str,to_str)
2)REPLACE:把某个字符或字符串替换成指定字符
3)UPPER:把字符串中的小写改写成大写
UPPER(character set)
4)LOWER:把字符串中的大写改写成小写
LOWER(character set)
5)SUBSTR:获取字符串中的子串
SUBSTR(COLUMNNAME,START,LENGTH)
6)INSTR:在字符串中找指定字符
INSTR(COLUMNNAME,'SET',...)
7)LTRIM:剪除字符串左侧
LTRIM(character set)
8)RTRIM:剪除字符串右侧
RTRIM(character set)
9)LENGTH:用于获得值的长度,单位为字节
LENGTH(character set)
10)IFNULL:如果为空用指定值替代NULL
IFNULL('value','substitution')
11)COALESCE:用指定值替代NULL
12)LPAD:在字符串左侧添加字符或空格
LPAD(character set)
13)RPAD:在字符串右侧添加字符或空格
RPAD(character set)
14)ASCII:返回ASCII码
ASCII(character set)
9.算术函数:
1)ABS:绝对值
2)ROUND:舍入
3)SQRT:平方根
4)SIGN:符号
5)POWER:幂
6)CEIL/FLOOR:上下限
7)EXP:指数
8)SIN/COS/TAN:三角函数
FUN(expression)
SQL2:数据操作的更多相关文章
- StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)
本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...
- hive数据操作
mdl是数据操作类的语言,包括向数据表加载文件,写查询结果等操作 hive有四种导入数据的方式 >从本地加载数据 LOAD DATA LOCAL INPATH './examples/files ...
- Dapper 数据操作框架
数据操作DapperFrom NuGet:Install-Package DapperorInstall-Package Dapper.StrongName微型ORM:PetaPoco获得PetaPo ...
- Django数据操作F和Q、model多对多操作、Django中间件、信号、读数据库里的数据实现分页
models.tb.objects.all().using('default'),根据using来指定在哪个库里查询,default是settings中配置的数据库的连接名称. 外话:django中引 ...
- coreData数据操作
// 1. 建立模型文件// 2. 建立CoreDataStack// 3. 设置AppDelegate 接着 // // CoreDataStack.swift // CoreDataStackDe ...
- Entity Framework 5.0系列之数据操作
Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以将数据源返回的数据具体化为对象:跟踪对象所做的更改:并发处理:将对象更改传播到数据源等.今天我们就一起讨论如何 ...
- 数据操作语言DML与运算符
数据操作语言DML(添加,修改,删除) 1.添加数据 insert into insert into 表名 (字段列表) values (值列表),值列表要和字段列表按顺序匹配. insert int ...
- SQL不同服务器数据库之间的数据操作整理(完整版)
---------------------------------------------------------------------------------- -- Author : htl25 ...
- C#利用SqlDataAdapte对DataTable进行批量数据操作
C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句, ...
随机推荐
- 分治法:三维偏序问题之CDQ分治
我怀疑那个k是用来定界限用的 #include <cstdio> #include <cstring> #include <algorithm> using nam ...
- c# 一个关于时间截断的算法取巧
场景如下: 在某一段时间内(有规律,以一个星期为最大区间),从一个时间区间中排除另外一个或者多个时间区间后,返回时间区间集合. 举例如下: //时间区间:2018-02-01~2018-02-07 / ...
- 【VIJOS】P1512 SuperBrother打鼹鼠
[算法]二维树状数组 [题解] 1.树状数组尽量不要出现0,因此所有坐标+1 2.面积求法(默认1开始):(x1,y1)(x2,y2)=sum(x2,y2)-sum(x1-1,y2)-sum(x2,y ...
- 【NOIP】提高组2014
Day1 T1(暴力):大水题 #include<cstdio> ][]={ ,,,,, ,,,,, ,,,,, ,,,,, ,,,,, }; ],b[]; int main() { in ...
- 引用类型 ( 对象定义 )——RegExp 类型
var expression = /pattern/flags; 以上为创建正则表达式格式,斜线包围的为正则表达式,flags 有三个值可以选择 本文地址:http://www.cnblogs.com ...
- AngularJs几种服务区别
下面说说这几种函数之间的区别: 函数 定义 适合场景 provider(name, Object OR constructor() ) 一个可配置的.有复杂逻辑的服务.如果你传递了一个对象,那么它应该 ...
- Java 注解全面解析
1.基本语法 注解定义看起来很像接口的定义.事实上,与其他任何接口一样,注解也将会编译成class文件. @Target(ElementType.Method) @Retention(Retentio ...
- SMTP暴力破解
这里实现一个SMTP的暴力破解程序,实验搭建的是postfix服务器,猜解用户名字典(user.txt)和密码字典(password.txt)中匹配的用户名密码对, 程序开发环境是: WinXP VC ...
- Redis—初探Redis
一.什么是Redis? 学习Redis最好的是看官网了,下面是Redis的官网对Redis的介绍 可见,Redis是一个内存存储的数据结构服务器,可以用作数据库.缓存等.支持的数据结构也很丰富,有字符 ...
- 64_p1
PEGTL-devel-1.3.1-2.fc26.i686.rpm 13-Feb-2017 22:10 64086 PEGTL-devel-1.3.1-2.fc26.x86_64.rpm 13-Feb ...