常用的SQL语句<一>基本语法和句型

1、创建数据库

create database database-name

1.2创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

1.2.1根据已有内容创建新表

--使用旧表创建新表
create table tab_new like tab_old 
create table tab_new as select col1,col2… from tab_old definition only 

1.3增加一列

Alter table tabname add column col type

注意:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

1.4添加主键

Alter table tabname add primary key(col)
--删除主键
Alter table tabname drop primary key(col) 

1.5创建索引

create [unique] index idxname on tabname(col….) 
--删除索引:
drop index idxname

注:索引是不可更改的,想更改必须删除重新建。

1.6创建视图

create view viewname as select statement
-- 删除视图:
drop view viewname 

2、删除数据库

drop database dbname

3、备份数据库

--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'Back', 'd:Back.dat'

--开始备份  和上面一句分开执行,login为要备份的数据库名称
backup database  login  to Back

--恢复数据库备份文件到数据库中,DB_Back为恢复的数据库名称
RESTORE DATABASE DB_Back FROM DISK= 'D:/Back.dat'  

3.1备份数据库中的某个表

--创建一个新的数据库,用来存放备份的表
create  database   backup11;

--把当前数据库中的vote表备份到backup11数据库中表vote11中
select  *  into   backup11.dbo.vote11   from   vote; 

--还原过程,上句的数据库位置交换
select  *  into   vote  from   backup11..vote11 

3.2定时备份数据库

--创建存储过程
CREATE PROCEDURE [dbo].[sp_B]  
      @BackupDatabaseName sysname 
AS BEGIN      
  DECLARE @sqlCommand NVARCHAR(1000)                  
   SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName +    ' TO DISK = ''d:/Backup/' + @databaseName   +'.BAK'''               
 EXECUTE sp_executesql @sqlCommand END 

--执行存储过程Backup.sql,备份的文件夹Backup要手动创建
exec [sp_B] 'TVC'
go

--任务计划选择sqlcmd.exe来定时执行此语句
sqlcmd -S p1003714a008/SQLEXPRESS -E -i e:/Backup.sql

4、数据查询

select * from table1 where

4.1、模糊查询

select * from table1 where field1 like%1%

备注:like的语法很精妙,可以查阅更多资料

5、范围插入

insert into table1(field1,field2) s(1,2)

6、删除数据

delete from table1 where

7、更新数据

update table1 set field1=1 where

8、排序、求和、平均值、最小值、最大值

--排序:sql中默认为升序(asc)一般来说会用到降序(desc)
select * from table1 order by field1,field2 [desc]
--总数:要的到总的数据的条数
select count * as totalcount from table1
--求和:求field1这一列的和
select sum(field1) as sum from table1
--平均:
select avg(field1) as avg from table1
--最大:
select max(field1) as max from table1
--最小:
select min(field1) as min from table1 

 

 

posted @ 2013-03-06 10:41  FengLu-1  阅读(563)  评论(0编辑  收藏  举报