SQL1-(增删改查、常用函数)

USE flowershopdb

--全球唯一标识符(GUID UUID)
SELECT NEWID()

--增删改查
--INSERT  [INTO] <表名>  [列名] VALUES <值列表>
INSERT tb_user VALUES(‘haha‘,‘123‘)
INSERT INTO tb_user VALUES(‘gege‘,‘123‘)
INSERT INTO tb_user(u_name,u_pass) VALUES(‘wawa‘,‘123‘)

--DELETE [FROM] <表名> [WHERE <删除条件>]
DELETE FROM tb_user    --[清除该表中的全部数据]
DELETE tb_user
DELETE tb_user WHERE u_id=1
--Truncate Table <表名>  [删除表数据,还原标识]
Truncate Table tb_user

--UPDATE <表名> SET <列名 = 更新值> [WHERE <更新条件>]
UPDATE tb_user SET u_name=‘admin‘    --[修改该表中的全部数据]
UPDATE tb_user SET u_name=‘admin‘ WHERE u_id=1

--SELECT <列名> FROM <表名> [WHERE <检索条件>]
SELECT * FROM tb_user
SELECT u_id,u_name,u_pass FROM tb_user
SELECT u_id,u_name,u_pass FROM tb_user WHERE u_id=1

--检索不与任何表关联的数据
SELECT 1+1
SELECT GETDATE()
SELECT ‘haha‘
SELECT ASCII(‘a‘)

--聚合函数
SELECT * FROM tb_product
SELECT COUNT(*),MAX(p_price),MIN(p_price),SUM(p_price),AVG(p_price) FROM tb_product

--数据排序 ASC正序 DESC倒序
SELECT * FROM tb_product
ORDER BY p_id DESC

--通配符过滤
--一个字符 ‘_‘
SELECT * FROM tb_product
WHERE p_name LIKE ‘_玫瑰干花‘
--任意长度的字符串 ‘%‘
SELECT * FROM tb_product
WHERE p_name LIKE ‘%玫瑰%‘
--括号中所指定范围内的一个字符 ‘[]‘
SELECT * FROM tb_product
WHERE p_name LIKE ‘[玫瑰]%‘ --以 ‘玫‘或‘瑰‘开头的花
--C Like ‘9W0[1-2]‘ 搜索 ‘9w01‘或‘9w02‘

--不在括号中所指定范围内的一个字符 ‘[^]‘
SELECT * FROM tb_product
WHERE p_name LIKE ‘[^玫]%‘ --不以 ‘玫‘ 开头的花

--空值处理 IS NULL或IS NOT NULL
INSERT tb_user VALUES(null,null)
SELECT * FROM tb_user WHERE u_name IS NULL
SELECT * FROM tb_user WHERE u_name IS NOT NULL

--多值匹配 IN或BETWEEN AND
SELECT * FROM tb_product WHERE p_price IN(2.1,2.2,2.3,2.4)
SELECT * FROM tb_product WHERE p_price=2.1 OR p_price=2.2 OR p_price=2.3 OR p_price=2.4

SELECT * FROM tb_product WHERE p_price BETWEEN 2.1 AND 2.9
SELECT * FROM tb_product WHERE p_price>=2.1 AND p_price<=2.9

--数据分组 GROUP BY
--WHERE子句从数据源中去掉不符合其搜索条件的数据
--GROUP BY子句搜集数据行到各个组中,统计函数为各个组计算统计值

--通过对d_id分组,然后计算分组后,各组数据和的平均值
SELECT d_id,AVG(p_price) AS 平均值 FROM tb_product
GROUP BY d_id 

--分组后查询语句 HAVING[对分组后的信息过滤]
SELECT d_id,AVG(p_price) AS 平均值 FROM tb_product
GROUP BY d_id
HAVING d_id > 2004

SELECT d_id,AVG(p_price) AS 平均值 FROM tb_product
GROUP BY d_id
HAVING AVG(p_price)>3

--限制结果集行数 TOP
SELECT TOP 5 * FROM tb_product

--排名函数
--ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)

--对 d_id分组,对p_price升序 排名产生新列 RID
SELECT ROW_NUMBER() OVER(PARTITION BY d_id ORDER BY p_price ASC) RID,d_id,p_price,p_name FROM tb_product
-- 先对d_id分组,然后对每组d_id进行p_price升序

--对 p_price升序 产生排名新列 RID
SELECT ROW_NUMBER() OVER(ORDER BY p_price ASC) RID,p_price,p_name FROM tb_product

--去掉重复数据
SELECT DISTINCT * FROM tb_product

--联合结果集 UNION
--基本的原则:每个结果集必须有相同的列数;每个结果集的列必须类型相容。
--tb_test     c_id{int} c_name{varchar}
--tb_demo     d_id{int} d_name{nchar}  类型相容
SELECT t_id,t_name FROM tb_test
UNION
SELECT d_id,d_name FROM tb_demo

--UNION ALL
SELECT t_id,t_name FROM tb_test
UNION ALL
SELECT d_id,d_name FROM tb_demo

--1.UNION合并两个查询结果集,并且将其中完全重复的数据行合并为一条
--2.Union因为要进行重复值扫描,所以效率低,因此如果不是确定要合并重复行,那么就用UNION ALL

--数字函数
--ABS() :求绝对值。
--CEILING():舍入到最大整数 。3.33将被舍入为4、2.89将被舍入为3、-3.61将被舍入为-3。 Ceiling→天花板
--FLOOR():舍入到最小整数。3.33将被舍入为3、2.89将被舍入为2、-3.61将被舍入为-4。 Floor→地板。
--ROUND():四舍五入。舍入到“离我半径最近的数” 。Round→“半径”。Round(3.1425,2)。

SELECT ABS(-4.2)
SELECT CEILING(4.12)
SELECT FLOOR(6.89)
SELECT ROUND(4.5,0) --不要小数位
SELECT ROUND(4.5,1) --保留一位小数

--字符串函数
--LEN() :计算字符串长度
--LOWER() 、UPPER () :转小写、大写
--LTRIM():字符串左侧的空格去掉
--RTRIM () :字符串右侧的空格去掉 LTRIM(RTRIM(‘         bb        ‘))
--SUBSTRING(string,start_position,length) --参数string为主字符串,start_position为子字符串在主字符串中的起始位置,length为子字符串的最大长度。SELECT  SUBSTRING(‘abcdef111‘,2,3)
--LEFT(string,数字) 截取左边
--RIGHT(string,数字)截取右边
SELECT LEN(‘123456‘)        --返回指定字符串表达式的字符数
SELECT DATALENGTH(‘123456‘) --返回用于表示任何表达式的字节数。
SELECT LOWER(‘AbCd‘),UPPER(‘AbCd‘)
SELECT LTRIM(‘   aa‘),RTRIM(‘bb   ‘),LTRIM(RTRIM(‘ cc  ‘))
SELECT SUBSTRING(‘abcdefg‘,1,2) --start_position从1开始
SELECT LEFT(‘aabbcc‘,2) --从左边开始,截取两个字符串
SELECT RIGHT(‘aabbcc‘,2)

--日期函数
--GETDATE() :取得当前日期时间
--DATEADD (datepart , number, date ),计算增加以后的日期。参数date为待计算的日期;参数number为增量;参数datepart为计量单位,可选值见备注。--DATEADD(DAY, 3,date)为计算日期date3天后的日期,而DATEADD(MONTH ,-8,date)为计算日期date8个月之前的日期
--DATEDIFF ( datepart , startdate , enddate ) :计算两个日期之间的差额。 datepart 为计量单位,可取值参考DateAdd。
--DATEPART (datepart,date):返回一个日期的特定部分
SELECT GETDATE()
SELECT DATEADD(YEAR,3,‘2014/10/02‘)
SELECT DATEADD(MONTH,3,‘2014/10/02‘)
SELECT DATEADD(DAY,3,GETDATE())
SELECT DATEDIFF(YEAR,‘1995/01/17‘,GETDATE())
SELECT DATEPART(YEAR,GETDATE())

--类型转换函数
--CAST ( expression AS data_type)
--CONVERT ( data_type, expression)
SELECT CAST(‘2014/10/11‘ AS DATETIME) --字符串转化为日期
SELECT CAST(‘11‘ AS INT)              --字符串转化为int
SELECT CAST(GETDATE() AS VARCHAR)     --日期转化为字符串

SELECT CONVERT(DATETIME,‘1995/01/17‘) --字符串转化为日期

SELECT CAST(right(‘aa1232011-08-09‘,10) AS DATETIME)

--空值处理函数 ISNULL()
--ISNULL(expression,value) :如果expression不为空则返回expression,否则返回value
SELECT u_id,ISNULL(u_name,‘佚名‘) FROM tb_user

SQL常用函数集锦:http://www.cnblogs.com/dreamof/archive/2009/02/02/1382487.html

时间: 2024-10-11 01:03:53

SQL1-(增删改查、常用函数)的相关文章

04-09,Work-对文件的增删改查(函数)

#增删改查之查def look(): while 1 : enter = input("查看:如www.oldboy.org\n") l = [] flag = False with open("haproxy.conf") as enter_read: for line in enter_read: if line.startswith("backend") and enter in line: flag = True continue if

列表、元组、字典的增删改查常用操作

1.列表 1 string = 'list' 2 3 #字符串 -> 列表 4 list1 = list(string) # ['l', 'i', 's', 't'] 5 6 #列表 - >字符串 7 string1 = ''.join(list1) # list 8 9 #增加 10 list1 = list('I have a pen') 11 list1.append('!')#末尾增加一个元素['I', ' ', 'h', 'a', 'v', 'e', ' ', 'a', ' ', '

C#通过窗体应用程序操作数据库(增删改查)

为了体现面向对象的思想,我们把"增删改查"这些函数封装到一个数据库操作类里:   为了便于窗体程序与数据库之间进行数据交互,我们建一个具有数据库行数据的类,通过它方便的在窗体程序与数据库之间传输数据. 首先,建立程序的主窗体 ㈠添加数据 当点击"增加",弹出一个子窗体,通过子窗体往数据库中添加一条数据 private void button1_Click(object sender, EventArgs e) { Form5 insert= new Form5();

Python网络编程06----django数据库的增删改查

首先定义model如下. class UserInfo(models.Model): username=models.CharField(max_length=50,null=True,primary_key=False,db_index=True) #可以为空,不是主键,创建索引 password=models.CharField(max_length=50,error_messages={"invalid":"出错"}) #定义出错信息 gender=model

ASP.NET C# 连接 Oracle数据库增删改查,事务

一.知识介绍 ①ASP.NET 使用的是MVC模式,开发工具Visual studio ,语言C# ②Oracle是比较重型的数据库,这里主要介绍连接数据库,对数据进行具体的使用 ③Visual Studio连接数据库都是需要dll文件,方法相似. 二.步骤 ①新建一个ASP项目 ②右击项目或引用,管理Nuget程序包.搜索Oracle,下载Oracle的dll依赖 ③由于数据库的增删改查常用,放在一个方法中.新建了类库,把方法放入类库中,在项目中需添加引用. 1 using Oracle.Da

如何实现最基本的课程管理系统(程序库的增删改查)

一直在听建民老师说,javaweb的精髓是Jsp+servlet+javabean.在完成这个系统之前,毕竟没有学习过javaweb,Jsp和servlet我是知道的,但不会在servlet和jsp之间相互传值以及应用,javabean是一点没有听说过.在这样的基础下,没办法逃脱测试的情况下,只能硬着头皮做了.数据库这方面,之前安装过mysql和可视化工具Navicat,但没有在eclipse中连接过,在数据库连接这方面基本也是空白.在慕课网和bilibili上找了无数视频,终于有了点头绪,下面

增删改查(简单版&amp;连接数据库)

项目总述:这个增删改查我以,选课名称,选课教室,选课教师基本信息,作为主要的信息来源.主要对这些信息最基本的增删改查 详细的分析与说明: 1.首先在src文件里定义四个包,com.bean(定义类),com.dao(对数据进行处理,书写增删改查的函数),com.db(用于连接数据库),com.servlet(用于接受jsp中传输的值,并对其进行判断处理) 相关代码展示: Bean.java: package com.bean; public class Bean { private String

常用的增删改查函数

无论做什么系统,涉及到数据库肯定离不开增删改查,下面是自己写的有关数据库增删改查封装的函数,仅供参考. using System; using System.ComponentModel; using System.Collections; using System.Diagnostics; using System.Data; using System.Data.SqlClient; using System.Configuration; using OnLineExam.HelperClas

MYSQL的常用命令和增删改查语句和数据类型

连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库" target='_blank' style='color:#df3434; font-weight:bold;'>MySQL</a> -h[主机地址] -u[用户名] -p[用户密码] 创建<a href="http://lib.csdn.net/base/my

数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15') 1.2[将现有表数据添加到一个已有表]insert into <已有的新表> (列名) select <原表列名> from <原表名>例:insert into tongxunlu ('姓名','地址','