有哪些常用的sql语句

首行当然是最基本的增删查改啦,其中最重要的是查。

还有就是一些要注意的地方,就是SQL语句对大小写不敏感,语句中列名对应的值要用单引号''括起来不是双引号。 SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号

特别是C/C++程序员要注意,通常错误都是在用字符串进行拼接SQL语句时,由于双引号和单引号混用,特别容易出错。 一、查:1、SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons; 2、SELECT * FROM 表名称,表示查找表中所有的内容,星号(*)是选取所有列的快捷方式; 3、用where 限定搜索范围,SELECT 列名称 FROM 表名称 WHERE 列 运算符 值,其中,运算符包括 操作符 描述 = 等于 <> 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种模式 注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。 如:SELECT * FROM Persons WHERE City='Beijing' 4、以下说说上面的一个运算符like LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。SELECT column_name(s)FROM table_name WHERE column_name LIKE pattern 例如: SELECT * FROM Persons WHERE City LIKE 'N%' SELECT * FROM Persons WHERE City LIKE '%g' SELECT * FROM Persons WHERE City LIKE '%lon%'

在以上的三个例子中,都有一个符号“%”,"%" 可用于定义通配符(模式中缺少的字母)。对于第一个例子,可以理解为查找City列中的名字中一定要以N开头的,后面的字母是什么,不用管;同理,第二个例子,是搜索City列中的名字中一定要以g结尾的城市,第三个例子,则是查找City列中的名字中名字存在lon的城市。

简单点来说,这是一种模糊搜索,而“%”可以代表任何字符。

5、and,or and 即条件交集,or 即条件并集; 二、改:Update 语句用于修改表中的数据。语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值; 列名可以是多个,多个列名之间用豆号分开; 例如:UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson' 三、删:DELETE 语句用于删除表中的行。语法:DELETE FROM 表名称 WHERE 列名称 = 值,如:DELETE FROM Person WHERE LastName = 'Wilson' 删除所有行,DELETE FROM table_name或DELETE * FROM table_name(注意,并不删除表); 四、增:INSERT INTO 语句用于向表格中插入新的行。语句:INSERT INTO 表名称 VALUES (值1, 值2,....) 或INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) 例如:INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')或 INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees‘) 五、sum()函数; SUM 函数返回数值列的总数(总额)。注意,只能统计数值。语法:SELECT SUM(column_name) FROM table_name 例如:SELECT SUM(OrderPrice) AS OrderTotal FROM Orders;as表示生成的数据的列名是OrderTotal 六、count()函数 1、COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入),即column_name中有多少个不同的值: SELECT COUNT(column_name) FROM table_name 如:SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE Customer='Carter' 2、COUNT(*) 函数返回表中的记录数,即表中有多少条记录:SELECT COUNT(*) FROM table_name 如:SELECT COUNT(*) AS NumberOfOrders FROM Orders 3、COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:SELECT COUNT(DISTINCT column_name) FROM table_name 如:SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders 注:count()函数可以统计出一个列中某一值的出现次数,而不限于列的值的数据类型,而sum()函数限定操作的值的类型一定要是数值类型; 七、group by 1、GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。通常与sum()、count()等函数一起用。 2、语法:SELECT column_name0, aggregate_function(column_name1) FROM table_name WHERE column_name operator value GROUP BY column_name2 3、与sum()的结合使用,可以根据column_name2列中的值的不同而对column_name1的值进行分组并合计; 例如:SELECT City, sum(input) FROM Person GROUP BY City ;就能按把收入统计并按城市分组,即表中有多少个不同的City就有多少行数据。 4、与count()结合使用,可以统计出某表中某列中的某值出现的次数. select a as xm,count(a) as cs from table1 group by a 如某表table1, ... a ... ... 0 ... ... 1 ... ... 2 ... ... 1 ... ... 0 ... 其中a列只有0,1,2三种值,如何统计各值出现的次数,最好弄成这样的 XM CS 0 (0出现的次数) 1 (1出现的次数) 2 (2出现的次数) 5、我们也可以对一个以上的列应用 GROUP BY 语句,就像这样:

SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders GROUP BY Customer,OrderDate

八、把两个表中的相关内容进行搜索合并

例如:select column1,column2,column3 from table_name1,talbe_name2 where table_name1.column = table_name2.column

注意:两个表中就有一个记录相同信息的列 column。

原文发布于微信公众号 - java达人(drjava)

原文发表时间:2015-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

SQL基础-->分组与分组函数

使用group by column1,column2,..按columm1,column2进行分组,即column1,column2组合相同的值为一个组

15320
来自专栏我的小碗汤

mysql支持原生json使用说明

MySQL在5.7.8开始对json原生支持,本文将对MySQL中json类型的用法简单说明,希望对你有用。

1.1K60
来自专栏Java 源码分析

数据库Exists关键字举例

一.问题描述: 查询所有未选择03号课程的学生的姓名 规定使用存在量词 student表: ? grade表: ? 二.思路: 既然是存在量词那么也就是E...

30560
来自专栏乐沙弥的世界

PL/SQL --> PL/SQL记录

PL/SQL记录有着类似于表的数据结构,是一个或多个字段且拥有数据类型的集合体。定义了PL/SQL记录类型之后,可以定义PL/SQL记录变

8030
来自专栏Java帮帮-微信公众号-技术文章全总结

【数据库】MySQL进阶六、模糊查询用法

【数据库】MySQL进阶六、 模糊查询用法 javahelp mysql中模糊查询的四种用法介绍 这篇文章主要介绍了mysql中模糊查询的四种用法,需要的朋友可...

491130
来自专栏数据之美

图文并茂详解 SQL JOIN

Join是关系型数据库系统的重要操作之一,一般关系型数据库中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另...

28980
来自专栏机器学习算法与Python学习

SQL Server 学习笔记

之前学过一点数据库但由于一直没有使用忘得差不多了,最近重新复习一下相关的知识,把基本的语法YOU又看了一遍,为了强化记忆在写一遍~~~~~~ ? 基本的 se...

384150
来自专栏程序员宝库

MYSQL 业务上碰到的 SQL 问题整理集合

前言 身为一名前端工程师,对于 SQL了解程度并不是很深刻,盘点一些个人工作遇到的问题,给大家普及下知识,以及记录自己如何解决这些问题的。 导航 SELECT ...

34560
来自专栏运维技术迷

MySQL数据库(八):表记录的基本操作(增删改查)

一、增 insert:增加(条件一条新纪录,默认新添加的记录都添加在已有记录的末尾) 1.格式: 1.1添加新纪录时,只给记录中的某几个字段赋值 inser...

706110
来自专栏PHP在线

mysql

cross join :笛卡尔交集。 Inner join :内连接。 left join :只要满足左边表的需求就可以了,右表有无都可以。 right ...

37280

扫码关注云+社区

领取腾讯云代金券