1、select

SELECT LastName,FirstName FROM Persons

SELECT * FROM Persons

2、distinct

SELECT DISTINCT Company FROM Orders

3、WHERE

SELECT * FROM Persons WHERE city='beijing'

4、AND&OR运算符

SELECT * FROM Persons WHERE FirstName='tomas' AND LastName='carp'

SELECT * FROM Persons WHERE FirstName='tomas' OR LastName='carp'

5、ORDER BY

默认是升序,可以自己添加ASC 和DESC

SELECT Company,OrderNumber FROM Orders ORDER BY Company,OrderNumber  //首先按照Company升序排列,在Company相同的时候按照OrderNumber关键字升序排列

SELECT Company,OrderNumber FROM Orders ORDER BY Company DESC,OrderNumber ASC  //首先按照Company降序排列,在Company相同的时候按照OrderNumber关键字升序排列

6、insert

插入新的行   INSERT INTO Person VALUES('gate','bill','xuanwumen 10','beijing')

插入指定列中的数据  INSERT INTO Person(LastName,Address) VALUES('wilson','champli stree')

7、update

改变表中的元素值

update Person SET FirstName='xiangli' WHERE LastName='wilson'

修改一行中的多个列

update Person SET City='anhui',Address='chinal addre' WHERE LastName='wilson'

8、delete

删除表中的行

DELETE FROM Person  WHERE LastName='wilson'

删除所有行

DELETE * FROM Person

9、TOP语句

Mysql语句中的TOP

SELECT * FROM Persons LIMIT 5

SQL中的TOP

SELECT TOP 2 * FROM Persons

SELECT TOP 50 PERCENT * FROM Persons //选取前50%

10、通配符

% 替代一个或者多个字符

_替代一个字符

[charlist] 字符列中的任意单一字符

[^charlist]或者[!charlist] 不在字符列中任意单一字符

SELECT * FROM Persons WHERE City LIKE '[ALN]%'   //选取City 以‘A','L','N'开头

11、in

SELECT * FROM Persons WHERE LastNames IN ('Adms','Carter') //选取姓氏是adms,carter的人

12、BETWEEN AND

SELECT * FROM Persons WHERE LastName Between 'Adam' AND 'Carter' //字母表顺序排序,在adam和carter(不包括)之间的人

13、使用别名

对表使用别名

SELECT p.ordernumber,po.LastName From Orders AS p,Products AS po WHERE p.LastName='Adam' AND p.FirstName='herry'

对列使用别名

SELECT LastName AS Fambily, FirstName AS Name FROM Persons  //返回的标的名字就变成了Fambily,Name

14、连接

内连接(只要两个表中有匹配的,就返回该行)

SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons,Orders WHERE Persons.Id_p=Order.Id_p

用内连接也就是SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons INNER JOIN Order ON Persons.Id_p=Order.Id_p

左连接(即使右表没有匹配的项,也要返回左表中的所有内容)

SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons LEFT JOIN Order ON Persons.Id_p=Order.Id_p //将返回左表Person中的所有LastName和FirstName选项

右连接(即使左表没有匹配的项,也要返回右表中的所有内容)

SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons RIGHT JOIN Order ON Persons.Id_p=Order.Id_p //将返回右表Orders中的所有OrderNo选项

全连接(列出左表和右表中的所有行,即使两个表没有匹配的选项,实际即使左连接和右连接的结合)

SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons FULL JOIN Order ON Persons.Id_p=Order.Id_p //将返回左表Person中的所有LastName和FirstName选项,返回右表Orders中的所有OrderNo选项

15、union

union合并(如果有相同的值,只选取一个)

union all 合并(如果有相同的值,都选取)

SELECT E_Name FROM Employees_china

UNION

SELECT E_Name FROM Employees_USA

16、select into

从一个表(或者多个表)中选取数据插入到另外一个表

SELECT LastName,FirstName INTO Person_backup FROM Persons

17、CREATE DATABASE

CREATE DATABASE my_db

18、Create table

数据类型:

整型

integer(size),int(size),smallint(size),tinyint(size)

小数

numeric(size,d)(size最大的位数,d小数点右侧的位数),decimal(size,d)

字符

char(size),varchar(size)

日期

data(yyyymmdd)

CREATE TABLE Persons

(

Id_p int,

LastName char(255),

FirstName char(255)

)

19、sql约束

NOT NULL 不容许为空置

CREATE TABLE Persons

(

Id_p int NOT NULL,

LastName char(255)

)

UNIQUE

mysql中

CREATE TABLE Persons

(

Id_p int NOT NULL,

LastName char(255),

UNIQUE(Id_p)

)

SQL Server/Oracle

CREATE TABLE Persons

(

Id_p int NOT NULL UNIQUE,

LastName char(255)

)

命名unique约束,并且为多个列添加unique约束

mysql/sql

CREATE TABLE Persons

(

Id_p int NOT NULL,

LastName char(255),

CONSTRAINT uc_PersonID UNIQUE(Id_p,LastName)

)

为表中的某个属性添加约束

ALTER TABLE Persons ADD UNIQUE(Id_p)

ALTER TABLE Persons ADD CONSTAINT uc_PersonID UNIQUE(Id_p,LastName)

撤销表中的每个约束

mysql

ALTER TABLE Persons DROP INDEX uc_PersonID

sql

ALTER TABLE Persons DROP CONSTRAINT uc_PersonID

主键

mysql

CREATE TABLE Persons

(

Id_p int NOT NULL,

LastName char(255),

PRIMARY KEY (Id_p)

)

SQL Server/Oracle

CREATE TABLE Persons

(

Id_p int NOT NULL PRIMARY KEY,

LastName char(255)

)

定义多个列的primary key

mysql/sql

CREATE TABLE Persons

(

Id_p int NOT NULL ,

LastName char(255),

CONSTRAINT pk_PersonID PRIMARY KEY(Id_p,LastName)

)

修改表格添加primary key

ALTER TABLE Persons ADD PRIMARY KEY(Id_p)

ALTER TABLE Persons ADD CONSTRAINT pk_PersonId PRIMARY KEY(Id_p,LastName)

撤销primary key

mysql

ALTER TABLE Persons DROP PRIMARY KEY(Id_p)

sql

ALTER TABLE persons DROP CONSTRAINT pk_PersonId

外键

mysql

CREATE TABLE Orders

(

Id_p int NOT NULL ,

LastName char(255),

FPREIGN KEY (Id_p) REFERENCES Persons(Id_p)

)

sql

CREATE TABLE Orders

(

Id_p int  FPREIGN KEY REFERENCES Persons(Id_p),

LastName char(255)

)

定义foreign key

mysql/sql

CREATE TABLE Orders

(

Id_p int  ,

LastName char(255),

CONSTRAINT fk_OrdersNo FOREIGN KEY(Id_p) REFERENCES Persons(Id_p)

)

改变表格添加foreign key

ALTER TABLE Orders ADD FOREIGN KEY (Id_p) REFERENCES Persons(Id_p)

ALTER TABLE Orders ADD CONSTRAINT fk_OrdersNo FOREIGN KEY(Id_p) REFERENCES Persons(Id_p)

撤销foreign key

mysql

ALTER TABLE Orders DROP FOREIGN KEY fk_OrdersNo

sql

ALTER TABLE Orders DROP CONSTRAINT fk_OrdersNo

check约束

mysql

CREATE TABLE Persons

(

Id_p int  ,

LastName char(255),

CHECK (Id_p>0)

)

sql

CREATE TABLE Persons

(

Id_p int CHECK (Id_p>0) ,

LastName char(255),

)

给约束加名字

mysql/sql

CREATE TABLE Persons

(

Id_p int  ,

LastName char(255),

City varchar(255),

CONSTRAINT ck_person CHECK (Id_p>0 AND City='longdon')

)

修改表格添加check

ALTER TABLE Persons Add CHECK (Id_p>0)

ALTER TABLE Persons Add CONSTRAINT ck_person CHECK(Id_p>0)

去掉check

mysql

ALTER TABLE Persons DROP CHECK ck_person

sql

ALTER TABLE Persons DROP CONSTRAINT ck_person

DEFAULT约束

CREATE TABLE Persons

(

Id_p int,

City varchar(255) DEFAULT 'sandes'

)

改变表格添加DEFAULT

mysql

ALTER TABLE Persons ALTER City SET DEFAULT 'sandes'

sql

ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'sandes'

丢掉DEFAULT

mysql

ALTER TABLE Person ALTER City DROP DEFAULT

sql

ALTER TABLE Person ALTER COLUMN City DROP DEFAULT

20、创建索引

CREATE INDEX PersonIdx ON  Person(LastName)

丢弃索引

MYSQL

ALTER TABLE Person DROP INDEX personIdx

21、drop

如果仅仅丢弃表格中的数据

TRUNCATE TABLE Person

22、alter

增加新列

sql

ALTER TABLE Person ADD Birstday data

改变列的数据类型

sql

ALTER TABLE Person ALTER COLUMN Bristday year

删除birstday

ALTER TABLE Person DROP COLUMN Birstday

23、视图

CREATE VIEW [Category sales list] AS SELECT ProductName,price FROM Poducts

24、is null 和is not null

用IS NULL 和IS NOT NULL 来测试NULL数据

SELECT LastName FROM Person WHERE City IS NULL

25、AVG()

SELECT AVG(Price) AS OrderAverage FROM Orders

结果

OrderAverage
950

26、count()

SELECT COUNT(Custormer) AS countcustormer FROM Orders

SELECT COUNT(DISTINCT Custormer) AS countcustormer FROM Orders

27、first(),last(),max(),min(),sum()

SELECT FIRST(Orderprice) AS FirstPrice FROM Orders

SELECT LAST(Orderprice) AS LastPrice FROM Orders

SELECT MAX(Orderprice) AS MAXPrice FROM Orders

SELECT MIN(Orderprice) AS MinPrice FROM Orders

SELECT SUM(Orderprice) AS SumPrice FROM Orders

28、group by

SELECT Customer,SUM(Orderprice) FROM Orders GROUP BY Customer

结果

Customer SUM(OrderPrice)
Bush 2000
Carter 1700
Adams 2000

29、having

SELECT Customer,SUM(Orderprice) FROM Orders GROUP BY Customer HAVING SUM(Orderprice)>1200

30、ucase(),lcase()

SELEC UCASE(FirstName) AS Famlily FROM Persons //将所有大写转换成小写

SELEC LCASE(FirstName) AS Famlily FROM Persons  //将所有小写转换成大写

31、MID(列名,开始位置,提取字符的个数)

SELECT MID(City,1,3) AS Smallcity FROM Persons

32、len()返回文本中字段的长度

SELECT LEN(City) AS Lencity FROM Persons

33、round(列名,小数的位数)

SELECT Productname,round(price,0) AS UNIPrice FROM Products

34、now()获取当前日期和时间

SELECT Productname,NOW() AS PerDate FROM Products

35、format()对字段格式化

SELECT Productname,FORMAT(NOW(),'YYYY-MM-DD') AS PerDate FROM Products

mysql中没有select into 创建新表,取而代之的是

create table t1(select * from t)

SQL复习的更多相关文章

  1. Javaweb学习笔记——(十五)—————— sql复习

    sql复习 数据库管理系统(DBMS)的概述 1.什么是DBMS:数据的仓库 *方便查询 *可存储的数据量大 *保证数据的完整.一致 *安全可靠 2.DBMS的发展:今天主流数据库为关系型数据库管理系 ...

  2. SQL 复习笔记 MSSQL篇

    苦逼得很,一下就失业了,只有好好复习,迎接下一份工作 MSSQL篇:     1.数据库表分为临时表和永久表.临时表又分为全局临时表和局部临时表         全局临时表:表名以##开头.对系统当前 ...

  3. SQL查询(医疗项目的SQL复习)

    内容来自于

  4. SQL复习五(索引)

    SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...

  5. SQL复习一(基础知识)

    1.什么是sql SQL(structure query language)是结构化查询语言,它是对关系型数据库的操作语言.它可以应用到所有的数据库中,例如:MySQL.Oracle.SQL serv ...

  6. sql 复习练习

          一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- ...

  7. 关系数据库SQL复习

    1.1 SQL的概述 SQL(Structured Query Language)结构化查询语言,是关系数据库的标准语言 SQL是一个通用的.功能极强的关系数据库语言 1.2 SQL的特点 1. 综合 ...

  8. Sql 复习3之存储管理

    一.事务管理 单个工作单元称为事务,我们将若干条sql命令组合在一起,形成存储过程.触发器等,利用存储过程和触发器可以进行事务管理. 二.编程基础介绍 主要有:函数.程序设计语句等. 程序设计语句: ...

  9. Oracle sql 复习题目总结

    sql 题目一 表结构 1.表名:g_cardapply 字段(字段名/类型/长度): apply_no varchar8; //申请单号(关键字) apply_date date; //申请日期 s ...

随机推荐

  1. VIJOS1240 朴素的网络游戏[DP]

    描述 佳佳最近又迷上了某款类似于虚拟人生的网络游戏.在游戏中,佳佳是某旅行团的团长,他需要安排客户住进旅馆.旅馆给了佳佳的旅行团一个房间数的限制.每一个房间有不同的容纳人数和价钱(这个价格是房间的总价 ...

  2. ubuntu下解析udt数据包

    udt是通过udp进行端到端可靠传输的一个协议,有其默认拥塞控制算法. 之前ubuntu下wireshark的版本是1.10,不能直接解析udt数据包[1],升级到最新的2.0.0即可过滤udt数据包 ...

  3. Java—Servlet开发

    Servlet API中有4个java包: javax.servlet:包含定义Servlet与Servlet容器之间契约的类与接口. javax.servlet.http:包含定义HTTPServl ...

  4. @OBJC 和 DYNAMIC

    原文转载自:@OBJC 和 DYNAMIC 虽然说 Swift 语言的初衷是希望能摆脱 Objective-C 的沉重的历史包袱和约束,但是不可否认的是经过了二十多年的洗礼,Cocoa 框架早就烙上了 ...

  5. CLR Table-Valued函数

    这几天来,努力学习了CLR的存储过程,创建与部署.从普通的存储过程,带参数,以及Output返回值等. Insus.NET今天学习一个例子,怎样实现CLR Table-Valued函数.在数据库中,我 ...

  6. noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T01——T10

    T01 矩阵交换行 描述 给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果. 输入 输入共6行,前5行为矩阵的每一行元素,元 ...

  7. Map集合 总结

    (本人第一次写博客,部分内容有参照李刚老师的疯狂java系列图书,如有遗漏错误,请多指教,谢谢.) Java的集合类可分为Set.List.Map.Queue,其中Set.List.Queue都有共同 ...

  8. 多态、GC、Java数据类型

    多态 一.java中实现多态的机制是什么? 靠的是: 父类定义的引用变量可以指向子类的实例对象,或者接口定义的引用变量可以指向具体实现类的实例对象 而程序调用的方法,在运行期才动态绑定, 它就是引用变 ...

  9. Qt学习笔记常用容器

    主要说Qt的以下几种容器 1.QList<T> 2.QLinkedList<T> 3.Map<T> 和一些常用的容器方法的使用 qSort qCopy qFind ...

  10. SQL Server Management Studio无法记住密码

    用sa账户登录sql server 2008,勾选了“记住密码”,但重新登录时,SQL Server Management Studio无法记住密码.   后来发现,在重新登录时,登录名显示的并非是s ...