SQL基本语法介绍

一、数据定义语言(DDL):定义数据库中的数据对象

建立数据库操作

  语法:create  database   数据库名

建立表操作

  语法:create table 表名(列名1  列类型  [<列的完整性约束>],列名2  列类型  [<列的完整性约束>],   ... ...   );

显示表结构操作

  语法:describe  表名;或 desc     表名;

删除表操作:

  语法:drop  table  [if exists]  tab_name [,tab_name]...

删除数据库操作:

  语法:drop  database [if exists] db_name

更改表结构操作

  语法:alter table 表名 action;

说明action 可以是如下语句

    add 列名 建表语句 [first | after 列名]

     可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列

    add primary key (列名)

     为表添加一个主键,如果主键已经存在,则出现错误

    add foreign key(列名) references 表名(列名)
     为表添加一个外键

    alter 列名 set default 默认值

      可以更改指定列默认值

    change 旧列名 新列名 <建表语句> [first | after 列名]

     可以更改列类型和列名称,如果原列的名字和新列的名字相同

    modify 列名 <建表语句> [first | after 列名] 和change的作用相同

    drop 列名     //可以删除一列

    drop primary key      //可以删除主键

    engine 类型名       //可以改变表类型

    rename as 新表名     //可以将表名更改

二、数据操纵语言(DML):操纵数据实现对数据库的基本操作(查询、插入、删除和修改)

插入记录操作

  INSERT  [INTO] <表名> [列名] VALUES <值列表>

  注意事项1:每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验;

  注意事项2:每个数据值的数据类型、精度和小数位数必须与相应的列匹配;

  注意事项3:如果在设计表的时候就指定了某列不允许为空,则必须插入数据;

  注意事项4:具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值

插入多行数据

  INSERT INTO <表名>(列名)VALUES(<列名值>), (<列名值>), (<列名值>)……

  INSERT INTO <表名>(列名)SELECT <列名>FROM <源表名>

  例:INSERT INTO   TongXunLu (‘姓名‘,‘地址‘,‘电子邮件‘)   SELECT   SName,SAddress,SEmail    FROM   Students

更改记录操作

  UPDATE <表名> SET <列名 = 更新值>  [WHERE <更新条件>]

删除记录操作

  DELETE FROM <表名> [WHERE <删除条件>]

查询记录操作

  from子句:指定查询数据的表

  where子句:查询数据的过滤条件

  group by子句:对匹配where子句的查询结果进行分组

  having子句:对分组后的结果进行条件限制

  order by子句:对查询结果结果进行排序,后面跟desc降序或asc升序(默认)。 

  limit子句:对查询的显示结果限制数目

  procedure子句:查询存储过程返回的结果集数据

在WHERE子句中使用谓词 :

  BETWEEN    AND    :在两数之间

  NOT   BETWEEN    AND :不在两数之间

  IN <值表>  :是否在特定的集合里(枚举)

  NOT IN <值表> :与上面相反

  LIKE  :是否匹配于一个模式

  IS NULL(为空的)或 IS NOT NULL(不为空的)REGEXP : 检查一个值是否匹配一个常规表达式。

多表查询—分类

  

  内连接(INNER JOIN)

  外连接

    ——左外联结   (LEFT JOIN)

    ——右外联结   (RIGHT JOIN)

  多表查询—内连接

    SELECT Students.SName, Sc.CourseID, Sc.Grade

    FROM   Students,Sc

    WHERE  Students.SNo = Sc.StudentID

  多表查询—三表内连接

    SELECT S.SName AS 姓名, CS.CName AS 课程, C.Grade AS 成绩

    FROM Students AS S

    INNER JOIN Sc AS C ON (S.SCode = C.StudentID)

    INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID)

  多表查询—左外连接

    SELECT   S.SName,C.CourseID,C.Grade

    From   Students AS S

    LEFT JOIN   Sc AS C

    ON   C.StudentID = S.SNo

  多表查询—右外连接    

    SELECT Titles.Title_id, Titles.Title, Publishers.Pub_name

    FROM titles

    RIGHT OUTER JOIN Publishers

    ON Titles.Pub_id = Publishers.Pub_id

时间: 2024-12-09 21:03:41

SQL基本语法介绍的相关文章

oracle中动态SQL使用详细介绍

Oracle编译PL/SQL程序块分为两个种:通常静态SQL采用前一种编译方式,而动态SQL采用后一种编译方式,需要了解的朋友可以参考下 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型:另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对该程序语句进

LINQ to Objects系列(2)两种查询语法介绍

LINQ为我们提供了两种查询语法,分别是查询表达式和查询方法语法.这篇文章分为以下几个方面进行总结. 1,一个包含两种查询语法的简单示例 2,查询表达式的结构 3,查询方法相关的运算符 一个包含两种查询语法的简单示例 一个LINQ查询既可以使用查询表达式实现,也可以用查询方法实现,还可以同时组合两种查询.下面是一个简单的示例,代码如下. namespace LINQDemo3 { class Program { static void Main(string[] args) { int[] nu

sas中sql基本语法

sas中的sql过程可以整理数据,数据合并,以及数据的选取功能等. sql过程可以拼接两个数据集,创建表格,删除表格中的行和列,以及进行简单的计算各个变量值. 例如: proc sql;  create view work.body as                                        //从ad表格中选取变量id,de,age,sex,并增加一个变量height并创建一个新表格bodyselect id, de ,age,sex,id**2\age as heig

oracle入门(6)——PL/SQL常用语法

[本文介绍] 本文不是”语法大全“,只是记录下作项目里自己常用的一些语法.方便查询. [语法] [输出]   (1)输出语法 DBMS_OUTPUT.PUT_LINE( ) [定义]   (1)定义变量: ...... as 变量名 类型(长度) begin ...... 例如: (2)定义变量 ,类型 依赖其他变量的类型 例如: 这样,改了name的类型,returnValue类型也跟着改变. (3)自定义类型(类似C语言的结构体)每次只能拿一条数据,不然会的报错. 例如: (4)以“表”做为

sql 常用语法汇总

Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的

数据字典生成工具之旅(6):NVelocity语法介绍及实例

本章开始将会为大家讲解NVelocity的用法,并带领大家实现一个简单的代码生成器. NVelocity是一个基于.NET的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象.从而使得界面设计人员与.NET程序开发人员基本分离. 阅读目录 NVelocity的常用功能简介 基本语法 实例介绍 工具源代码下载 学习使用 回到顶部 NVelocity的常用功能简介 1. 在页面中定义变量,并进行简单的运算

SQL常用语法大全

一.基础1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:创建新表create

sql 常用语法

SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2 注释:默认地,UNION 操作符选取不同的值,即UNION是去了重的.如果允许重复的值,请使用 UNION ALL. 联结起来一起显示,并不是联结两个表………… UNION 的语法如下: 而我们要找出来所有有营业额 (sales) 的日子.要达到这个目的,我们用以下的 SQL 语句: SELECT Date F

atitit..sql update语法的词法分析,与语法ast构建

atitit..sql update语法的词法分析,与语法ast构建 1. 要使用sql udpate语法的dsl ,需要写个解释器.. 1 2. 词法分析的实现 1 2.1. 扫描器的实现 SqlUpExpTokener 1 2.2. 等号操作符的转态 EqxState 2 2.3. 单引号的转态 SingleQuoeState 3 2.4. 逗号操作的转态 CommaState 5 3. 构建语法树ast 6 4. 最终输出ast结构 8 1. 要使用sql udpate语法的dsl ,需要