SQL 之二
Top: select Top number(percent) from table where ... 例子: SELECT TOP 50 PERCENT
* FROM Persons
MYSQL : select 列名s from table limit number
OrcaL: select 列名s from table ROWNUM < number
LIke & not Like 例子: SELECT * FROM Persons WHERE City NOT LIKE '%lon%'
通配符: % 多个字符, - 一个字符 , [ ] 中间任何一个字符 ,[! ] [~ ]不在其中的任何字符
IN: 允许where 条件包含多个值 select 列名s from table where 列名 in (值1,值2。。。)
Between : select 列名s from table where 列名 between 值1 and 值2 ,
不同的数据库在查询结果上有所差别,可能返回边界值,可能都不返回边界值或是只返回第一个边界值 值1。
AS: 既可以为表指定别名,也可以为列指定别名。
Join :
Union 用于合并select的结果集 ,重复的结果只显示一次
Uinon all 同Union 但是不会剔除相同的结果
Select Into
将查询结果放入另一个表中,常用于数据备份或是数据存档。
Select 列名s into new table In datebase from old table where 。。。
Create Datebabs dbName : 创建数据库
Create Table tName
( 列名1 ,数据类型
列名2 ,数据类型
... .....
) : 创建数据表
数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:
数据类型 | 描述 |
---|---|
|
仅容纳整数。在括号内规定数字的最大位数。 |
|
容纳带有小数的数字。 "size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。 |
char(size) |
容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。 在括号中规定字符串的长度。 |
varchar(size) |
容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。 在括号中规定字符串的最大长度。 |
date(yyyymmdd) | 容纳日期。 |
约束:
NOT NULL 不允许为空
Unique 添加: MYSQL 中 Unique(列名s) SQL Server : 列名 Uniqu
命名或添加多个唯一: Constraint Name Unique(列名s)
删除: MYSQL 中 Drop Index Name SQL Server : Drop Constraint Name
Primary Key 添加 : MYSQL 中 Primary key(列名s) SQL Server : 列名 Primary Key
表已经存在的情况下进行添加:Add Primary key (列名s) 或者 Add constraint Name Primary key(列名s)
命名或将多列指定为主键: Constraint Name Primary key(列名s)
删除: MYSQL 中 Drop Primary key SQL Server : Drop Constraint Name
Foreign Key 添加 : MYSQL 中 Foreign key(列名) References table(列名) SQL Server : 列名 Primary Key References table(列名)
表已经存在的情况下进行添加:Add Foreign key (列名) References table(列名)
或者 Add constraint Name Foreign key (列名) References table(列名)
命名或将多列指定为外键: Constraint Name Foreign key (列名) References table(列名)
删除: MYSQL 中 Drop Primary key Name SQL Server : Drop Constraint Name
Check 限定某列只能为符合条件的特定值。
添加 : MYSQL 中 单独写 Check (条件) SQL Server : 列名 后面直接写 Check (条件)
表已经存在的情况下进行添加:Add check(条件)
或者 Add constraint Name check (条件)
命名或将多个条件: Constraint Name Check(条件s)
删除: SQL Server : Drop Constraint Name
Default 添加: 列名后直接填写 Default 默认值或是函数
表已经存在情况下的添加:
MYSQL 中: Alter 列名 set Default 默认值或是函数 SQL Server 中: Alert Column 列名 set Default 默认值或是函数
删除: MYSQL: Alter 列名 Drop Default SQl Server : Alter Column 列名 Drp Default
INDEX : 索引是用户看不到的,只是能加快查询的速度。
创建索引的方法: Creat [Unique] Index IndexName on table (列名s, [DESC]) []中的内容是可选的
删除索引的方法: SQLJet : Drop index indexName on table
SQL Server : Drop Index table.indexName
DB2/Oracle : Drop IndexName
MYSQL : Alter table tablename Drop Index indexName
DROP:
删除数据库 Drop Database dbName
删除数据表 Drop Table tbName
仅仅删除表中的数据 Turncate Tabel tbName
Alter : 在已存在的表中进行添加 删除
添加数据列 Alter Table tbName add ColumnName dbType
删除数据列 Alter Table tbName Drop ColumnName
改变某列的数据类型 Alter Table tbName Alter ColumnName dbType