SQL入门基础语法
- 格式:doc
- 大小:56.00 KB
- 文档页数:8
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语句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 四条最基本的数据操作语句:Insert,Select,Update和Delete!下面对这四个语句进行详细的剖析:熟练掌握SQL是数据库用户的宝贵财富。
在本文中,我们将引导你掌握四条最基本的数据操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。
当你完成这些学习后,显然你已经开始算是真正SQ L入门了。
在我们开始之前,先使用CREA TE TABLE语句来创建一个表。
DDL语句对数据库对象如表、列和视进行定义。
它们并不对表中的行进行处理,这是因为DDL语句并不处理数据库中实际的数据。
这些工作由另一类SQL语句—数据操作语言(DML)语句进行处理。
SQL中有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
由于这是大多数SQL用户经常用到的,我们有必要在此对它们进行一一说明。
在图1中我们给出了一个名为EMPLOY EES的表。
其中的每一行对应一个特定的雇员记录。
请熟悉这张表,我们在后面的例子中将要用到它。
INSERT语句用户可以用IN S ERT语句将一行记录插入到指定的一个表中。
例如,要将雇员John Smith 的记录插入到本例的表中,可以使用如下语句:INSERTINTO EMPLOYE ES VALUES('Smith','John','1980-06-10','Los Angles',16,45000);通过这样的IN SERT语句,系统将试着将这些值填入到相应的列中。
这些列按照我们创建表时定义的顺序排列。
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语⾔的分类 数据定义语⾔(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(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语法摘要: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数据库基础教程。
第一章数据定义语言(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语句来管理数据库的安全性和事务一致性。
qrtz 基础sql摘要:1.SQL 概述2.SQL 的基本语法3.查询数据4.更新数据5.删除数据6.创建和修改表7.总结正文:1.SQL 概述SQL 是Structured Query Language 的缩写,中文意思是结构化查询语言。
SQL 是一种用于管理关系型数据库的编程语言,它可以用于查询、更新、删除和创建数据库中的数据。
SQL 具有丰富的功能和高度的灵活性,是数据库管理员和开发人员必备的技能。
2.SQL 的基本语法SQL 的基本语法包括以下几部分:- SELECT:用于查询数据- INSERT:用于插入数据- UPDATE:用于更新数据- DELETE:用于删除数据- CREATE:用于创建表- DROP:用于删除表- ALTER:用于修改表3.查询数据查询数据是SQL 中最基本的操作之一。
使用SELECT 语句可以选择表中的特定数据。
例如,假设有一个名为“students”的表,我们可以使用以下语句查询所有学生的姓名和年龄:```SELECT name, age FROM students;```4.更新数据更新数据是指修改数据库中已有的数据。
使用UPDATE 语句可以实现这个功能。
例如,假设我们要将“students”表中年龄大于18 的学生的年龄增加1 岁,可以使用以下语句:```UPDATE students SET age = age + 1 WHERE age > 18;```5.删除数据删除数据是指从数据库中移除特定的数据。
使用DELETE 语句可以实现这个功能。
例如,假设我们要删除“students”表中年龄大于20 的学生记录,可以使用以下语句:```DELETE FROM students WHERE age > 20;```6.创建和修改表创建表是指在数据库中新建一个表,而修改表则是指对已有的表进行调整。
使用CREATE 和ALTER 语句可以实现这两个功能。
SQL基础语法selectinsertupdatedelete(增删改查)简单使⽤以下案列以此表举例1、select(查询)select简单的查询分为两种注:字段也就是表结构中的列的名称第⼀种:select 字段名 from 表名此种查询只列出你所需要查询的字段,要查询多个字段以“,”隔开 第⼆种:select * from 表名* 的意思是查询出此表的所有字段额外的内容:distinct关键字select distinct 字段名 from 表名给查询的结果去重2、insert(插⼊)insert插⼊数据⾏(记录)的两种简单实现⽅式第⼀种:insert into 表名 values(值1,值2...)这种插⼊数据⾏的的值必须与表的字段名⼀⼀对应,否则数据会插⼊失败给出错误提⽰:错误提⽰:Column count doesn't match value count at row 1第⼆种:insert into 表名(字段名,字段名...) values(值1,值2...)显⽽易见,这是指定字段名来插⼊数据3、update(更新(修改))语法:update 表名 set 字段名 = 新值 where 字段名 = 旧值where 后⾯接条件,条件有多种多样,后⾯我会⼀⼀说明。
在这⾥where的意思就是我要修改这个字段名下的这个旧值,新值写在set后⾯4、delete(删除)语法:delete from 表名 where 字段名 = 值根据字段名找到值的这⼀⾏记录就被删除了where(重点,条件语句)如果你的语句中有条件,则在语句末尾加上where,再跟上你的条件。
例如:select * from 表名 where 字段名 = 值delete from 表名 where 字段名 = 值=, >, <, >=, <=, <>(不等于)都适⽤于wherewhere⽤法极其丰富,后⾯我会⼀⼀讲解,这⾥暂时给点简单的例⼦and 和 or(运算符)and类似于java(不仅仅java)运算符的 &(与), or类似于 | (或)。
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等语句。
事物控制语言,主要用于数据库对事物得控制,保证数据库中数据得一致性,包括MIT ROLLBACK语句。
常用得数据类型MYSQL:SQL语句中不区分关键字得大小写SQL语句中不区分列名与对象名得大小写SQL语句对数据库中数据得大小写敏感SQL语句中使用--注释,当使用--注释时,--后面至少有--个空格,多行注释用/* */数据库得创建与删除数据库得创建CREATE DATABASE database_name;在MYSQL MAND 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。