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语句, ...
随机推荐
- Productivity tips, tricks and hacks for academics (2015 edition)
Productivity tips, tricks and hacks for academics (2015 edition) Contents Jump to: My philosophy: Op ...
- JAVA多线程提高十一:同步工具Exchanger
Exchanger可以在对中对元素进行配对和交换的线程的同步点.每个线程将条目上的某个方法呈现给 exchange 方法,与伙伴线程进行匹配,并且在返回时接收其伙伴的对象.Exchanger 可能被视 ...
- 【acmm】一道简单的数学题
emm卡常 我本来写成了这个样子: #include<bits/stdc++.h> using namespace std; typedef long long LL; ; struct ...
- 【BZOJ】1087: [SCOI2005]互不侵犯King
[算法]状态压缩型DP [题解]http://www.cnblogs.com/xtx1999/p/4620227.html (orz) https://www.cnblogs.com/zbtrs/p/ ...
- 51Nod 1256 扩展欧几里得求乘法逆元
给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的. Input 输入2个数M, N中间用 ...
- 1、编写第一个java程序--Hello—World
1.下载JDK8.0文件 下载网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...
- AngularJs 文件上传(实现Multipart/form-data 文件的上传)
<!-- 上传yml文件 --> <div class="blackBoard" ng-show="vm.showUpop==true"> ...
- windows和linux修改python的pip源
python的pip安装包非常方便,然而其默认的镜像源在国外,下载的速度非常慢,推荐改成国内的镜像源. window平台修改pip源 找到系统盘下C:\C:\Users\用户名\AppData\Roa ...
- django框架<三>
一.ORM操作 1.django orm创建数据库的方法 (1)指定连接pymysql(python3.x),先配置__init__.py import pymysql pymysql.instal ...
- 【转载】WebDriver(C#)之十点使用心得
使用Selenium WebDriver驱动浏览器测试的过程中多多少少会遇到一些折腾人的问题,总结了一部分,做下分享. 一.隐藏元素处理(element not visible) 使用WebDrive ...