SQL入门基础语法

合集下载

sql 基础语法

sql 基础语法

sql 基础语法
摘要:
1.SQL 简介
2.SQL 的基本语法
2.1 数据定义
2.2 数据操作
2.3 数据查询
2.4 数据控制
正文:
【1.SQL 简介】
SQL(Structured Query Language,结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL 是高级的非过程化编程语言,可以使程序员忽略系统的具体实现细节,只需指定数据的存储位置和存储方式,而不需要指定具体的存储方式和存取路径。

【2.SQL 的基本语法】
SQL 的基本语法包括数据定义、数据操作、数据查询和数据控制。

【2.1 数据定义】
数据定义主要是对数据库中的表进行定义,包括表名、列名、数据类型、主键和外键等。

数据定义的常用SQL 语句有CREATE TABLE、ALTER TABLE 和DROP TABLE 等。

【2.2 数据操作】
数据操作主要是对数据库中的数据进行添加、修改和删除等操作。

数据操作的常用SQL 语句有INSERT、UPDATE 和DELETE 等。

【2.3 数据查询】
数据查询是SQL 语言中最重要的功能之一,可以查询数据库中的数据,包括SELECT 语句和子查询等。

SELECT 语句是最基本的数据查询语句,可以查询表中的所有数据或者某一列的数据,也可以使用WHERE 子句进行条件查询。

【2.4 数据控制】
数据控制主要是对数据库中的数据进行控制,包括数据的访问权限、数据的备份和恢复等。

数据控制的常用SQL 语句有GRANT、REVOKE 和BACKUP 等。

基础sql语句

基础sql语句

基础sql语句1. SELECT: 用于查询表中的数据,可以使用通配符(*)表示所有列或者指定列名。

例子:SELECT * FROM table_name;2. FROM: 用于指定查询的数据来源,即需要查询哪张表。

例子:SELECT * FROM table_name;3. WHERE: 用于筛选满足条件的数据行,可以使用比较运算符(>,<,=,!=,>=,<=)等。

例子:SELECT * FROM table_name WHEREcolumn_name >= 10;4. ORDER BY: 用于将查询结果按照某个列进行排序,可以指定升序或降序(ASC或DESC)。

例子:SELECT * FROM table_name ORDER BYcolumn_name ASC;5. GROUP BY: 用于将查询结果按照某个列进行分组,通常使用聚合函数(SUM,COUNT,AVG,MAX,MIN)进行数据计算。

例子:SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;6. LIMIT: 用于限制查询结果的数量,只返回前几条数据。

例子:SELECT * FROM table_name LIMIT 10;7. JOIN: 用于将多张表按照共同的字段进行连接,可以有多种连接方式(INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL OUTER JOIN)。

例子:SELECT * FROM table1 LEFT JOIN table2 ONtable1.column_name = table2.column_name.。

SQl数据库快速入门必须掌握的四大基本语句

SQl数据库快速入门必须掌握的四大基本语句

SQl数据库‎快速入门必须‎掌握的四大基‎本语句做一个系统的‎后台,基本上都少不‎了增删改查,作为一个新手‎入门,我们必须要掌‎握SQL 四条‎最基本的数据‎操作语句:Insert‎,Select‎,Update‎和Delet‎e!下面对这四个‎语句进行详细‎的剖析:熟练掌握SQ‎L是数据库用‎户的宝贵财富‎。

在本文中,我们将引导你‎掌握四条最基‎本的数据操作‎语句—SQL的核心‎功能—来依次介绍比‎较操作符、选择断言以及‎三值逻辑。

当你完成这些‎学习后,显然你已经开‎始算是真正S‎Q L入门了。

在我们开始之‎前,先使用CRE‎A TE TABLE语‎句来创建一个‎表。

DDL语句对‎数据库对象如‎表、列和视进行定‎义。

它们并不对表‎中的行进行处‎理,这是因为DD‎L语句并不处‎理数据库中实‎际的数据。

这些工作由另‎一类SQL语‎句—数据操作语言‎(DML)语句进行处理‎。

SQL中有四‎种基本的DM‎L操作:INSERT‎,SELECT‎,UPDATE‎和DELET‎E。

由于这是大多‎数SQL用户‎经常用到的,我们有必要在‎此对它们进行‎一一说明。

在图1中我们‎给出了一个名‎为EMPLO‎Y EES的表‎。

其中的每一行‎对应一个特定‎的雇员记录。

请熟悉这张表‎,我们在后面的‎例子中将要用‎到它。

INSERT‎语句用户可以用I‎N S ERT语‎句将一行记录‎插入到指定的‎一个表中。

例如,要将雇员Jo‎hn Smith 的‎记录插入到本‎例的表中,可以使用如下‎语句:INSERT‎INTO EMPLOY‎E ES VALUES‎('Smith','John','1980-06-10','Los Angles‎',16,45000);通过这样的I‎N SERT语‎句,系统将试着将‎这些值填入到‎相应的列中。

这些列按照我‎们创建表时定‎义的顺序排列‎。

SQL语言入门

SQL语言入门

SQL语⾔⼊门内容来源:唐成. PostgreSQL修炼之道[M]. 机械⼯业出版社, 2015.此书购买链接:SQL(Structured Query Language)结构化查询语⾔1. 语法简介1.1 语句分类DDL (Data Definition Language)数据定义语⾔,主要⽤于创建、删除,以及修改表、索引等数据库对象语⾔。

DML (Data Manupulation Language)数据操作语句,主要⽤于插⼊、更新、删除数据,所以分为INSERT、UPDATE、DELETE三种语句。

DQL (Data Query Language)数据查询语句,基本就是SELECT查询语句,⽤于数据查询。

1.2 语法结构多条SQL语句之间⽤分号(;)隔开每个SQL命令有⼀些列的记号组成:关键字标识符双引号包围的标识符常量单引号包围的⽂本常量特殊的字符……2. DDL语句2.1 建表语句表⽰关系型数据库中最基本的对象,有很多列也有很多⾏,每⼀列有⼀个名字,不同的列有不同的数据类型。

建表语句的⼀个简单语法如下:CREATE TABLE table_name (col01_name data_type,col02_name data_type,col03_name data_type,col04_name data_type);其中CREATE和TABLE为关键字,表⽰创建表。

table_name为表名,col01_name col02_name col03_name col04_name分别表⽰列名。

data_type表⽰数据类型,不同的数据库系统有不同的数据类型名称。

变长的字符串在⼤多数数据库中都可使⽤varchar类型。

整形数据⼀般使⽤int类型。

⽇期类型使⽤date。

例如:CREATE TABLE score (student_name varchar(40),chinese_score int,math_score int,test_date date);在建表的时候,可以指定表的主键,主键是表中⾏的唯⼀标识,这个唯⼀标识,是不能重复的。

SQL数据库基础语法

SQL数据库基础语法

SQL数据库基础语法SQL语句的概述SQL语⾔的分类 数据定义语⾔(Data Definition Language)主要⽤于修改、创建和删除数据库对象,其中包括CREATE ALTER DROP语句。

数据查询语⾔(Data Query Language)主要⽤于查询数据库中的数据,其主要是SELECT语句,SELECT语句包括五个⼦句,分别是FROM WHERE HAVING GROUP BY和WITH语句。

数据操作语⾔(Data Manipulation Language)主要⽤于更新数据库⾥数据表中的数据,包括INSERT UODATE DELETE语句。

数据控制语⾔(Data Control Language)主要⽤于授予和回收访问数据库的某种权限。

包括GRANT REVOKE等语句。

事物控制语⾔,主要⽤于数据库对事物的控制,保证数据库中数据的⼀致性,包括COMMIT ROLLBACK语句。

常⽤的数据类型 MYSQL: SQL语句的书写规范 SQL语句中不区分关键字的⼤⼩写 SQL语句中不区分列名和对象名的⼤⼩写 SQL语句对数据库中数据的⼤⼩写敏感 SQL语句中使⽤--注释时,--后⾯⾄少有⼀个空格,多⾏注释⽤/* */ 数据库的创建与删除 (1)数据库的创建: CREATE DATABASE database_name; 在中书写SQL语句时,在SQL语句后⾯都要加上分号 (2)数据库的删除 DROP DATABASE database_name;数据表的创建与更新 数据库中的表 (1)数据记录:在数据表中的每⼀⾏被称为数据记录 (2)字段:数据表中的每⼀列被称为字段 (3)主键(PRIMARY KEY):作为数据表中唯⼀的表⽰,保证了每⼀天数记录的唯⼀性。

逐渐在关系数据库中约束实体完整性。

所谓实体完整性,是指对数据表⾏的约束。

(4)外键(FOREIGN KEY):外键⽤来定义表与表之间的关系。

菜鸟教程sql语法

菜鸟教程sql语法

菜鸟教程sql语法标题:深入理解SQL语法:从入门到精通导语:SQL(Structured Query Language)是一种用于管理和操作关系型数据库的编程语言,广泛应用于各行各业的数据存储与查询。

本文将带你深入了解SQL语法,在掌握基本语法的同时,为你提供全面而有指导意义的内容。

让我们开始SQL之旅吧!一、SQL简介及基本语法1. SQL的概念与作用SQL是一门标准化语言,用于管理和操作关系型数据库。

它可以帮助我们存储、查询、更新、删除数据库中的数据,是使得数据库具备强大功能的基石。

2. SQL基本语法SQL语句通常包括以下几个部分:- SELECT:用于查询数据库中的数据。

- INSERT INTO:用于向数据库插入新数据。

- UPDATE:用于更新数据库中的数据。

- DELETE:用于删除数据库中的数据。

- CREATE TABLE:用于创建数据库表。

- ALTER TABLE:用于修改数据库表结构。

- DROP TABLE:用于删除数据库表。

- WHERE语句:用于指定查询或更新条件。

二、SQL数据查询与操作1. 数据查询SQL语句的核心部分是SELECT语句,可以通过以下方式查询数据:- 使用通配符(*)查询所有字段。

- 通过指定字段名查询特定字段。

- 使用WHERE语句添加查询条件。

- 使用ORDER BY语句进行排序。

- 使用LIMIT语句限制查询结果数量。

2. 数据操作- INSERT INTO语句用于向数据库表中插入新数据。

- UPDATE语句用于更新已存在的数据。

- DELETE语句用于删除数据库中的数据。

三、SQL表的创建与修改1. 创建表使用CREATE TABLE语句可以创建数据库中的新表。

需要指定表名及其字段名、字段类型和约束等信息。

2. 修改表结构- 使用ALTER TABLE语句可以对现有表结构进行修改,例如添加字段、修改字段类型或长度等。

- 使用DROP TABLE语句可以删除数据库中的表。

sqlwhich语法

sqlwhich语法

sqlwhich语法摘要:1.SQL 的基础语法2.SELECT 语句3.FROM 语句4.WHERE 语句5.GROUP BY 语句6.HAVING 语句7.ORDER BY 语句8.LIMIT 和OFFSET 语句9.JOIN 语句10.UNION 和UNION ALL 语句11.INSERT 语句12.UPDATE 语句13.DELETE 语句14.DDL 语句15.DML 语句正文:SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的编程语言。

它主要用于查询、插入、更新和删除数据库中的数据,还可以用于定义和管理数据库表结构。

SQL 具有丰富的语法,下面我们来详细了解一下。

1.SQL 的基础语法SQL 语句通常由SELECT、FROM、WHERE 等子句组成,它们共同构成了一个完整的SQL 查询语句。

在编写SQL 语句时,我们需要遵循一定的语法规则,例如使用关键字、分隔符和括号等。

2.SELECT 语句SELECT 语句用于查询数据库中的数据。

它可以选择一个或多个表中的列,并返回查询结果。

SELECT 语句的基本语法如下:```SELECT column1, column2,...FROM table_nameWHERE condition;```3.FROM 语句FROM 语句用于指定查询数据的来源,即数据库表。

在FROM 子句中,我们可以使用多个表名,用逗号分隔。

4.WHERE 语句WHERE 语句用于指定查询数据的条件。

在WHERE 子句中,我们可以使用各种比较运算符(如=、<>、>、<等)和逻辑运算符(如AND、OR、NOT 等)来组合条件。

5.GROUP BY 语句GROUP BY 语句用于对查询结果进行分组。

它可以根据一个或多个列对查询结果进行分组,并返回每个分组的汇总数据。

6.HAVING 语句HAVING 语句用于对分组后的查询结果进行筛选。

初学者必读的SQL数据库基础教程

初学者必读的SQL数据库基础教程

初学者必读的SQL数据库基础教程SQL数据库是一种常用的数据库管理系统,广泛应用于各种软件开发和数据管理领域。

对于初学者来说,掌握SQL数据库的基础知识是非常重要的。

本文将从数据定义语言、数据操作语言、数据查询语言和数据控制语言等方面,为初学者提供一份必读的SQL数据库基础教程。

第一章数据定义语言(DDL)数据定义语言(DDL)是SQL数据库中用来定义数据库结构的语言。

它包括创建、修改和删除数据库、表、列以及其他对象的操作。

在SQL中,创建数据库使用CREATE DATABASE语句,创建表使用CREATE TABLE语句,修改表结构使用ALTER TABLE语句,删除表使用DROP TABLE语句等。

初学者在学习时应该了解这些常用的DDL语句,并能够正确地使用它们。

第二章数据操作语言(DML)数据操作语言(DML)是SQL数据库中用来对数据库中的数据进行操作的语言。

它包括插入、更新和删除数据的操作。

在SQL中,插入数据使用INSERT INTO语句,更新数据使用UPDATE语句,删除数据使用DELETE FROM语句等。

初学者需要熟悉这些基本的DML语句,并能够通过它们来操作数据库中的数据。

第三章数据查询语言(DQL)数据查询语言(DQL)是SQL数据库中用来查询数据库中的数据的语言。

它包括SELECT语句和一些用于过滤、排序和聚合数据的函数。

初学者需要掌握SELECT语句的基本用法,了解如何使用WHERE子句进行条件过滤,如何使用ORDER BY子句进行排序,以及如何使用GROUP BY子句进行数据聚合。

第四章数据控制语言(DCL)数据控制语言(DCL)是SQL数据库中用来控制数据库访问权限和事务处理的语言。

它包括GRANT和REVOKE语句用于授权和撤销权限,以及BEGIN TRANSACTION、COMMIT和ROLLBACK语句用于管理事务。

初学者需要了解如何使用DCL语句来管理数据库的安全性和事务一致性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL语句的概述SQL语言的分类数据定义语言(Data Definition Language)主要用于修改、创建和删除数据库对象,其中包括CREATE ALTER DROP语句。

数据查询语言(Data Query Language)主要用于查询数据库中的数据,其主要是SELECT 语句,SELECT语句包括五个子句,分别是FROM WHERE HAVING GROUP BY 和WITH语句。

数据操作语言(Data Manipulation Language)主要用于更新数据库里数据表中的数据,包括INSERT UODATE DELETE语句。

数据控制语言(Data Control Language)主要用于授予和回收访问数据库的某种权限。

包括GRANT REVOKE等语句。

事物控制语言,主要用于数据库对事物的控制,保证数据库中数据的一致性,包括COMMIT ROLLBACK语句。

常用的数据类型MYSQL:SQL语句的书写规范SQL语句中不区分关键字的大小写SQL语句中不区分列名和对象名的大小写SQL语句对数据库中数据的大小写敏感SQL语句中使用--注释,当使用--注释时,--后面至少有--个空格,多行注释用/* */数据库的创建与删除数据库的创建CREATE DATABASE database_name;在MYSQL COMMAND LINE CLIENT中书写SQL语句时,在SQL语句后面都要加上分号数据库的删除DROP DATABASE database_name;数据表的创建与更新数据库中的表数据记录:在数据表中的每一行被称为数据记录字段:数据表中的每一列被称为字段主键(PRIMARY KEY):作为数据表中唯一的表示,保证了每一天数记录的唯一性。

主键在关系数据库中约束实体完整性。

所谓的实体完整性,是指对数据表中行的约束。

外键(FOREIGN KEY):外键用来定义表与表之间的关系。

在数据表中,如果属性列F是关系B中的一个属性(并不是关系B的主键),并且属性列F是关系A的主键,则F就是B 的外键。

外键在关系数据库中约束参照完整性。

所谓的参照完整性是指表与表之间的约束。

索引:索引是指向数据表中的一个指针,指向索引字段在数据表中的物理位置。

一般可以在如下几种情况下建立索引在主键列中创建索引多表连接时,在经常使用的连接列上创建索引在经常使用WHERE子句查询的列上创建索引在经常进行分组GROUP BY及排序ORDER BY的列上创建索引约束:为了保证数据的完整需要使用约束1.唯一约束(UNIQUE)使用唯一约束的某一列或者某一组中没有相同的值,即保证了值的唯一性。

但是唯一约束中可以插入NULL值2.主键约束(PRIMARY KEY)保证使用主键约束的列中只能有唯一的值,并且不能包含NULL值,数据表中每一列只能定义一个PRIMARY KEY3.外键约束(FOREIGN KEY)保证表参照完整性,确保对一个数据表的数据操作不会对与之关联的表造成不利的影响4.检查约束(CHECK)限制列的取值范围或者取值条件,可以为一个列定义多个CHECK约束5.非空约束(NOT NULL)用于对列的约束创建数据表CREATE TABLE table_name(column_name1 datatype [constraint_condition1][,column name2 datatype [constraint_condition2]…)使用约束1.唯一约束(UNIQUE)用来保证某一列或者某一组列中没有相同的值,一般为列创建了一个唯一约束后,数据库会自动为该列建立一个唯一索引,其索引名与约束名相同例如:CREATE TABLE T_dept(dept_ID VARCHAR(15) UNIQUE,dept_Name VARCHAR(10)2.主键约束CREATE TABLE T_result(stuID VARCHAR(15),cruID VARCHAR(15),result DOUBLE,PRIMARY KEY(stuID,curID))3.外键约束FOREIGN KEY[表名1](列名1)REFERENCES 表名2 (列名2)[ON UPDATE [CASCADE]|[SET NULL]|[RESTRICT]][ON DELETE [CASCADE]|[SET NULL]|[RESTRICT]]其中,FOREIGN KEY是关键字,表名1是可选的,列名1是指定数据表中用于外键约束的外键,表名2表示主表的名字,列名2主表中与从表中列名1对应列的名字,后面的ON UPDATE ON DELETE表示对表中的数据的修改或者删除,主从表之间采取什么样的操作方式,是可选的CASCADE:级联删除,如果主表中一条数据记录被删除,从表中的数据也将删除SET NULL:置空删除,如果主表中的一条数据记录南北删除,从表中与之相连的数据也将置空RESTRICT:受限删除,如果主表中的一条数据被删除,则在执行DELETE语句时系统会报错,通知用户与主表相对应的数据在从表中仍然存在,但是与主表相对应的数据在从表中不被删除,它是默认的方式CREATE TABLE T_result(stuID VARCHAR(15),curID VARCHAR(15),result DOUBLE,FOREIGN KEY (stuID) REFERCES T_student (stuID) ON DELETE CASCADE,PRIMARY KEY(stuID,curID))3.检查约束CHECKCREATE TABLE T_curriculum(curID VARCHAR(15) PRIMARY KEY,curName VARCHAR(10),credit INT,CHECK(credit BETWEEN 3 AND 8))4.非空约束NOT NUL使用索引1.唯一索引:在数据表中使用UNIQUE可以为一个数据列定义一个唯一索引,唯一索引中的每一个索引值只对应数据表中的一条记录,保证了数据列中记录的唯一性2.主索引:在数据表中使用PRIMARY KEY可以为一个数据列定义一个主索引,所谓的主索引就是在主键列中建立索引3.单列索引:定义在数据表中一个数据列上的索引就是单列索引,一般在数据查询时,如果WHERE子句中经常用到的数据表中的某一列作为查询条件,就可以把该列创建为单列索引4.复合索引:索引可以定义在一个数据表的多个数据列上,像这样的索引被称为复合索引5.聚簇索引:创建与删除索引CREATE [UNIQUE]|[CLUSTER] INDEX index_nameON table_name(column_name [排序方式]…)排序:关键字ASC表示升序排列,关键字DESC表示降序排列修改数据库中的表1.向表中增加一列ALTER TABLE table_name ADD(column_name datatype [constraint_condition])例如:ALTER TABLE T_teacher ADD salary INT NOT NULL2.增加一个约束ALTER TABLE table_name ADD constraint_type (column_name)例如:ALTER TABLE dept ADD PRIMARY KEY (dept_ID)3.增加一个索引ALTER TABLE table_name ADD INDEX(column_name1[,column_name2]…)例如:ALTER TABLE T_curriculum ADD INDEX i_credit(credit)4.修改表中的某一列ALTER TABLE table_name MODIFY column_name datatype例如:ALTER TABLE T_student MODIFY sex CHAR(2)5.删除表中的某一列ALTER TABLE table_name DROP column_name6.删除一个约束条件ALTER TABLE table_name DROP constraint_type7.删除数据库中的表DROP TABLE table_name[CASCADE CONSTRAINTS]删除表时要使用CASCADE CONSTRAINTS级联删除从表中的外键约束数据的查询操作查询全部列的数据记录SELECT * FROM table_name or view_name[,table_name1 or view_name1…]查询表中指定的列SELECT 目标列[,目标列…]FROM 表名或者视图名[,表名或者视图名…]在SELECT语句中查询数据表或者视图指定的列时,在SELECT语句中指定的列名必须是指定的数据表或者视图中存在的列查询表中不重复的记录SELECT DISTINCT 目标列[,目标列…]FROM 表名或者视图名[,表名或者视图名…]使用列别名查询SELECT 目标列[AS] 列别名[,目标列[AS] 列别名…]FROM 表名或者视图名[,表名或者视图名…]在SELECT语句中使用列别名的形式对数据表或者视图查询时,可以再在查询的列名后面使用一个空格键来代替AS,空格后面再跟上列别名的名字。

如果列别名对字母大小写敏感,或者在使用包含有空格或者特殊字符的列别名,则必须使用单引号或者双引号将其引起来,否则系统将报错对查询的记录进行运算SELECT语句还可以使用算数运算符对指定的列进行运算,其中算术运算符包括加减乘除以及模除,在SELECT语句中对指定的列进行算术运算符进行运算时,只会改变显示的结果,并不会改变数据表中列的原有值使用连接符(||)连接字段在ORACLE中,可以使用||连接符连接多个字段,在使用连接符时,连接的数据类型应该是相同的,如果不同系统将会报错,如果需要在连接的字段中加入字符或者是日期类型的值,需要将该字符值或者日期类型的值使用单引号引起来。

注意,在MYSQL和MS SQL SERVER中并不支持连接符||,在MYSQL中可以使用CONCAT函数,在MS SQL SERVER 中可以使用+来连接关于NULL值在数据库中,如果没有为该列赋值,而且该列也没有默认值,此时查询的结果就为空,即NULL使用WHERE子句查询表中满足条件的记录比较查询比较运算符分为三类,算术比较运算符,BETWEEN AND ,IN算术比较运算符SQL语句中的算术比较运算符主要包括= >= <= > < != <>(不等于)!>(不大于)!< (不小于),在SELECT 语句的WHERE子句中可以使用算术比较运算符对指定的列进行比较,应指出的是,在MS SQL SERVER中,<>不是不等于的意思WHERE 字段1 比较运算符值在SQL语句中,如果在WHERE子句中比较的时整数型数据,则可以不用使用单引号,如果比较的时其他的数剧类型,如字符串、日期等,则必须用单引号引起来,另外,WHERE 子句中比较运算符的左侧和右侧的数据类型必须是类型兼容的BETWEEN AND运算符字段1 BETWEEN 值1 AND 值2在SQL中使用BETWEEN AND 运算符可以查询指定条件范围的记录,也可以使用NOT BETWEEN AND运算符来排除一些记录IN运算符查询与列表匹配的记录字段1 IN (属性值1,属性值2……)在SQL语句中也可以使用NOT IN来排除一些记录SELECT teaID,teaName,age,sex,deptFROM T_teacherWHERE dept IN(‘计算机系’,’数学系’)字符串比较使用比较运算符对字符串进行比较在使用比较运算符对字符串进行查询和比较时,有的数据库需要区分大小写,如ORACLE,但是在MS SQL SERVER 和MYSQL中不区分,为了避免由于不注意字符串大小写而查询不到正确的结果,可以使用干将字符串转换为大小的函数UPPER LOWER对字符串进行转换使用BINARY关键字对字符串进行二进制比较BINARY可将字符串转换为二进制对象再进行比较SELECT string1 比较运算符BINARY string2或者SELECT BINARY string1 比较运算符string2逻辑查询在SQL中逻辑查询主要包括AND OR NOT三种ANDSELECT stuID,stuName,age,sexFROM T_studentWHERE age>20 AND sex=’男’SQL语句中AND运算符两侧的条件必须都为TRUE,否则将显示FALSE 使用OR运算符查询满足任一条件的记录SELECT teaID,teaName,age,sex,dept,professionFROM T_teacherWHERE age>’45’ OR profession=’教授’使用NOT运算符查询满足相反条件的记录在MS SQL SERVER中,使用~ 代替NOT空值查询当使用NULL查询数据表中的记录是否为空时,不能使用比较运算符,只能是用IS NULL 或者使用IS NOT NULL,如果使用运算符对NULL进行比较其查询条件返回的结果始终是FALSE,也就是说使用比较运算符对NULL值进行比较不会检索出任何结果使用LIKE操作符实现模糊查询匹配任意单个字符在SQL中,通配符“_”表示单个字符,一个“_”只能表示一个字符SELECT stuID,stuName,age,sex,birthFROM T_studentWHERE stuID LIKE ‘s_____3’(WHERE stuID NOT LIKE ‘s_____3’)MYSQL数据库中的LIKE操作符进行匹配时,对字母的大小写不敏感匹配0个或者多个字符通配符“%”表示0个或者多个字符SELECT stuID,stuName,age,sex,birthFROM T_studentWHERE stuName LIKE ‘王%’LIKE关键字后面的匹配符必须使用单引号,对字母进行匹配时,还要注意区分大小写使用转义字符如果在查询时数据表中的某个字段中的字符值本身就包含了“%”和“_”,这时就要用到转义字符,用关键字ESCAPE来转义,步骤:1.在需要转义的“%”“_”字符前加一个转义符,该转义符可以是任意字符2.在ESCAPE关键字后指定该转义字符的名称SELECT deptID,deptNameFROM T_deptWHERE deptID LIKE ‘%$_%’ ESCAPE ‘$’使用REGEXP关键字进行模式匹配1.^ 用来匹配字符串的开始2.$ 用来匹配字符串的结尾3.[ ] 在方括号中的任意字符都可以匹配4.+ 表示用于匹配的该字符在匹配的字符串中出现至少一次或多次5.* 表示用于匹配的该字符在匹配的字符串中出现零次或者多次6.() 括号中的内容将被看成是一个整体7.{ m} 整数m表示花括号中的字符串需要出现的次数表中数据的排序与分组使用GROUP BY 子句对数据记录进行排序指定表中的一列进行排序使用ORDER BY可对查询的结果进行排序,ASC表升序,DESC表降序ORDER BY column1 [ASC|DESC]SELECT teaID,teaName,dept,profession,salaryFROM T_teacherORDER BY salary ASC如果指定要排序的列中存在空值,则在升序排列中显示在最前,降序排列中显示在最后ORDER BY也可以放在WHERE子句后面SELECT teaID,teaName,dept,profession,salaryFROM T_teacherWHERE dept=’计算机系’ORDER BY salary ASC指定表中列的位置序号进行排序SELECT teaID,teaName,dept,profession,salaryFROM T_teacherORDER BY 5 ASCsalary的位置是5,可以用5来代替对SELECT语句中的非选择列进行排序使用ORDER BY子句中也可以对没有在SELECT中出现的选择列进行排序操作SELECT teaID,teaName,dept,professionFROM T_teacherWHERE dept=’计算机系’ORDER BY salary ASC不过一般的情况下都会使用在SELECT中出现的列进行排序,这样显得很直观指定数据表中的多列进行排序ORDER BY可以指定数据表中的多列进行排序操作,这时指定排序的列之间使用分号隔开ORDER BY column1,column2 [ASC|DESC]SLEECT teaID,teaName,dept,profession,salaryFROM T_teacherORDER BY dept,salary使用ORDER BY 进行多列排序时,遵循以下规则:1.根据ORDER BY 指定的第一列,按照指定的升序或者降序进行排序2.当ORDER BY 子句中指定的第一列中出现相同的数据时,再根据ORDER BY指定的第二列的升序或者降序进行排列3.当ORDER BY 子句中指定的第二列中出现相同的数据时,再根据ORDER BY指定的第三列的升序或者降序进行排列,依次类推常用的聚合函数使用MYSQL数据库限制结果集行数LIMIT n LIMIT offset,n连接查询与集合查询内连接查询等值连接SELECT table_name1.column,table_name2.column…FROM table_name1,table_name2WHERE table_name1.column=table_name2.column使用连接查询时可以使用可以采用列别名的方式简化书写SELECT A.column,B.columnFROM table_name1 A,table_name2 BWHERE A.column=B.column;非等值连接,是指在连接查询时使用>= <= < > != <> !< !> BETWEEN AND使用ON子句建立相等连接在SQL语句中除了使用=建立等值连接外,也可以使用ON子句建立等值连接SELECT 表名1.字段,表名2.字段FROM 表名1,表名2ON 表名1.字段=表名2.字段交叉连接交叉连接的结果是一个笛卡尔积SELECT 表名1.字段,表名2.字段FROM 表名CROSS JOIN 表名自连接查询自连接查询用在同一表中的连接查询操作SELECT A.字段,B.字段FROM 表名1 A,表名2 BWHERE A.字段=B.字段由于自连接使用的是同一张表,所以在FROM中需要为表定义不同的列别名外连接查询外连接查询可以查询到不满足连接条件的部分记录左外连接SELECT 表名1.字段,表名2.字段FROM 表名1 LEFT JOIN 表名2ON 表名1.字段=表名2.字段右外连接RIGHT JOIN全外连接FULL JOIN集合查询UNION INTERSECT MINUSSELECT 语句1UNION (INTERSECT OR MINUS)SELECT 语句2在进行并操作时两个SELECT语句中要查询的列对应的属性的个数和数据类型必须是相同的,否则系统将报错,在MYSQL中不支持INTERSECT 和MINUS。

相关文档
最新文档