[转载]sql常用语法汇总(一)_Andy_pany_新浪博客

原文地址:sql常用语法汇总(一) 作者: dpc323


 


//插入

INSERT INTO table_name (1, 2,...) VALUES (1, 2,....)

//更新

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

//删除

DELETE FROM 表名称 WHERE 列名称 =


//top子句

SELECT TOP number|percent column_name(s) FROM table_name

//例如 select top 5 value from table_name


//like

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern

//例如 SELECT * FROM Persons WHERE City LIKE 'N%'

//'N%' '%lon%' '%g'


//sql通配符

 


//IN 操作符允许我们在 WHERE 子句中规定多个值。

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)


//BETWEEN 操作符

//操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SELECT column_name(s)FROM table_nameWHERE column_name BETWEEN value1 AND value2


//表的 SQL Alias 语法, 也即as语法 别名语法

SELECT column_name(s) FROM table_name AS alias_name


SELECT po.OrderID, p.LastName, p.FirstName

FROM Persons AS p, Product_Orders AS po

WHERE p.LastName='Adams' AND p.FirstName='John'


 

//语法说明

//join 用于根据两个或者多个表中的列之间的关系,从这些表中查询数据。

//JOIN: 如果表中有至少一个匹配,则返回行

//INNER JOIN:同JOIN

//LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

//RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

//FULL JOIN: 只要其中一个表中存在匹配,就返回行


//举例说明

//INNER JOIN 内连接

SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name

//LEFT JOIN 左连接,左表返回所有行,右表有就返回,没有返回null

SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

//RIGHT JOIN 右连接,右表返回所有行,左边有就返回,没有返回null,同left JOIN,替换关键词left join



//UNION

//UNION 操作符用于合并两个或者多个select语句的结果集

//请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。(也就是说字段个数要相同)

SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2


//sql select into

//select into 语句从一个表中选取数据,然后把数据插入另一个表中。

//select into 语句常用于创建表的备份复件或者用于对记录进行存档

//IN 子句用于向另一个数据库中拷贝表

SELECT * INTO Persons IN 'Backup.mdb' FROM Persons


 

//sql CreateDB

//CREATE DATABASE 用于创建数据库

CREATE DATEBASE database_name


//创建表

//CREATE TABLE

CREATE TABLE 表名称

(

    列名称1 数据类型,

    列名称2 数据类型,

    ...

)


//举例

CREATE TABLE Persons

(

    Id_P int,

    LastName varchar(255),

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255)

)

 

//sql约束

//限制加入表的数据的类型,可以在创建表时添加,或者在表创建之后也可以(通过 ALTER TABLE 语句)。


//NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。


//UNIQUE

 

//PRIMARY KEY   主键

CREATE TABLE Persons

(

 Id_P int NOT NULL,

 LastName varchar(255) NOT NULL,

 FirstName varchar(255),

 Address varchar(255),

 City varchar(255),

 PRIMARY KEY (Id_P)

 )


CREATE TABLE Persons

(

 Id_P int NOT NULL,

 LastName varchar(255) NOT NULL,

 FirstName varchar(255),

 Address varchar(255),

 City varchar(255),

 CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

 )

ALTER TABLE Persons ADD PRIMARY KEY (Id_P)


//FOREIGN KEY 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY

CREATE TABLE Orders

(

 Id_O int NOT NULL,

 OrderNo int NOT NULL,

 Id_P int,

 PRIMARY KEY (Id_O),

 FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)

 )


//CHECK

 


CREATE TABLE Persons

(

 Id_P int NOT NULL,

 ...

 CHECK (Id_P>0)

 )


//DEFAULT

//DEFAULT 约束用于向列中插入默认值。,如果没有规定其他的值,那么会将默认值添加到所有的新记录。

OrderDate date DEFAULT GETDATE()

 

//SQL CREATE INDEX语句用语在表中创建索引。

//在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。

CREATE INDEX index_name ON table_name(column_name)

CREATE UNIQUE INDEX index_name ON table_name (column_name) //唯一索引

 

SQL DROP INDEX 删除索引语句

mysql: ALTER TABLE table_name DROP INDEX index_name


SQL DROP TABLE 删除表

DROP TABLE 表名称


SQL DROP DATABASE 删除数据库

DROP DATEBASE 数据库名称


SQL TRUNCATE TABLE 删除表内数据不删表结构

TRUNCATE TABLE 表名称

 

表中添加列

ALTER TABLE table_name ADD column_name datatype


删除表中列

ALTER TABLE table_name DROP COLUMN column_name

//某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)

//要改变表中列的数据类型,请使用下列语法:

ALTER TABLE table_name ALTER COLUMN column_name datatype

 

//AUTO INCREMENT  插入新数据,自动创建主键的值

CREATE TABLE Persons

(

 P_Id int NOT NULL AUTO_INCREMENT,

 ...

 PRIMARY KEY (P_Id)

 )


//视图基于 SQL 语句的结果集的可视化的表

CREATE VIEW view_name AS

SELECT column_name(s) FROM table_name WHERE condition

//实例

CREATE VIEW [Current Product List] AS SELECT ProductID,ProductName FROM Products WHERE Discontinued=No


 


 


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值