---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
1、创建数据库
CREATE DATABASE 数据库名2、删除数据库
drop database 数据库名
3、创建数据表
create table 表名
(字段名1 字段类型,定段名2 字段类型,约束定义1,约束定义2,)
4.修改数据表: 1)添加字段:alter table 待修改表名 add 字段名 字段类型 2)删除字段:alter table 待修改表名 drop 待删除的字段名
5.删除数据表: drop table 待删除的表名
1。数据的插入:insert into 待插入的表名 (字段1,字段2,字段3...) values ('值1','值2','值3'...);
Example:insert into Food_Category(categoryName,intro) values ('谷类','粮食');
注意:1)values后的字段值如果含有中文的话,则最好在字段前加上"N"字母,使其按unicode进行编码,防止插入后的数据乱码.
2)values后的字段值,如果是字符和字符串类型则将值用单引号括起来,如果是整型的则不需要单引号,直接写出即可.
2。数据的删除:delete from 表名 where 条件;
Example:delete from Food_Category where Id=1;
注意:a>delete和drop table的区别,delete仅仅是删除表中的数据,而表的结构仍然存在,drop table不仅删除表中的数据,而且还将表的结构也删除.
b>where后可跟多个条件,并用逻辑运算符相连,如and和or.
3。数据的更新:update 表名 set 字段名='值' where 条件;
Example:update Food_Category set categoryName=调料 where Id=1;
4。数据的查询:select 字段名 from 表名 where 条件;
Example:select * from Food_Category where categoryName='调料';
注意:1)字段名可以以通配符"*"来代替,表示所有字段.
2)where后可跟多个条件,并用逻辑运算符相连,如and和or.
5.增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
6.添加主键: Alter table tabname add primary key(col)
删除主键: Alter table tabname drop primary key(col)
7.创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
8.创建视图:create view viewname as select statement
删除视图:drop view viewname
9:几个常用基本sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
10、几个高级查询运算词
1) UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
2) EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
3) INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
11.说明:使用外连接
1)left (outer) join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
2)right (outer) join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
3)full/cross (outer) join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
12、分组:Group by:
一张表,一旦分组 完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据
在selecte统计函数中的字段,不能和普通的字段放在一起;
13.Having语句:
1)在Where中不能使用聚合函数,必须使用Having,Having要位于Group By之后,
select FAge,Count(*) AS 人数 from T_Employee group by FAge Having Count(*)>1;
2)注意Having中不能使用未参与分组的列,Having不能替代where。作用不一样,Having是对组后的信息进行过滤的。
14.对数据库进行操作:
分离数据库: sp_detach_db; 附加数据库:sp_attach_db 后接表明,附加需要完整的路径名
15.如何修改数据库的名称:
sp_renamedb 'old_name', 'new_name'
16.数字函数:
1)abs():求绝对值。select ABS(-45) 45
2)ceiling():舍入到最大整数。CEILING(-3.14) -3。
3)floor():舍入到最小整数。FLOOR(-3.14) -4
4)round():四舍五入。舍入到离我半径最近的数。注意:还有一个带两个参数的ROUND()函数,其中第二个参数代表精度。
17.字符串函数: ROUND(3.1415926,3) 3.14
1)len():计算字符串长度。select LEN(name)4
2)lower()、UPPER():转小写,大写。
3)ltrim():字符串左侧的空格去掉。
4)rtrim():字符串右侧的空格去掉。
5)ltrim(rtrim()):字符串两侧的空格去掉。
6)substring(string,start_position,length):
参数string为主字符串,start_position为子字符串在主字符串中的起始位置,length为子字符串的最大长度。
select substring('yiuyi',2,3);
18.日期函数:
1)getdate():取得当前日期时间。
2)dateadd(datepart,number,date):计算增加以后的日期数。参数date为待计算的日期;参数date为增量;参数datepart为计量单位。
dateadd(DAY,3,date)为计算日期date的3天后的日期;
dateadd(MONTH,-8,date)为计算日期date的8个月之前的日期。
3)datediff(datepart,startdate,enddate):计算两个日期之间的差额,datepart为计量单位,可取值参考DATEADD。
4)datepart(datepart,date):返回一个日期的特定部分。
19.类型转换函数:
1)cast(expression AS data_type):expression将要被转换的表达式,data_type将要被转换成的类型。
2)convert(data_type,expression)
20.空值处理函数:
1)isnull(expression,value):如果expression不为空则返回expression,否则返回value。如:
select isnull(FName,'民资') as 姓名 from Table
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/