码迷,mamicode.com
首页 > 数据库 > 详细

SQL语句

时间:2015-04-28 11:19:31      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

一.数据定义语句DDL

1.CREATE

CREATE DATABASE test
ON PRIMARY                                --建立主数据文件
(NAME=test,
FILENAME=E:\MSSQL_DATA\test.mdf,
SIZE=5,
MAXSIZE=5,
FILEGROWTH=1)
LOG ON
(
NAME=test_log,
FILENAME=E:\MSSQL_LOG\test_log.ldf,
SIZE=1,
MAXSIZE=2,
FILEGROWTH=1
)
use test
create table teacher(
ID int Identity(1,1) not null,     --identity表示自增,从1开始每次自增1
Name varchar(20) not null,
Sex char(2) null,
Phone varchar(20) not null,
Sallary smallmoney null,
Address varchar(100) null,
Email varchar(30) null)  --可变长度,最大为255个字符

2.DROP

DROP DATABASE test
DROP TABLE teacher    --注意和delete的区别,delete teacher是删除表teacher中的所有数据,DROP是删除表

3.ALTER

add、remove、modify

ALTER DATABASE test
modify name=test_t

ALTER TABLE teacher
add Subject varchar(30) null

ALTER TABLE teacher      --每次修改之前都要加一句ALTER,不能连续写2行
DROP COLUMN price
--加入组
ALTER DATABASE test
ADD FILEGROUP test_group

--连续加入2个次数据文件
ALTER DATABASE test
ADD FILE 
(NAME=test1,
FILENAME=E:\MSSQL_DATA\test1.ndf,
SIZE=5,
MAXSIZE=5,
FILEGROWTH=1),
(
NAME=test2,
FILENAME=E:\MSSQL_DATA\test2.ndf,
SIZE=5,
MAXSIZE=5,
FILEGROWTH=1
) to filegroup test_group
GO
ALTER DATABASE test
ADD LOG FILE(
NAME=testlog1,
FILENAME=E:\MSSQL_LOG\testlog1.ldf,
SIZE=1,
MAXSIZE=3,
FILEGROWTH=1)
GO

--删除数据文件和组
ALTER DATABASE test
remove file test2
ALTER DATABASE test
remove filegroup tesst_group

 

二.数据操作语句DML

1.INSERT

  • identity

在 insert into 该 table 时, 不能指定该 identity 栏位值.

identity 由资料库维护, 所以一般要在 insert 后取得该 identity 栏位值, 利用全局变量 @@identity 来取得最后影响的 insert 后产生的 identity 值.

显示地插入identity值后,不能update,只能插入。并且插入之后,不改变原来的identity的最大值,仍然在前一次自动插入的值的基础上加1.

查询目前的最大identity值,修改最大值,都用命令dbcc。只有当之前设置的identity比目前的值小,恢复时才会恢复到以前的比较大的identity值,否则不会改变。

--显示插入以及identity值的引用
set identity_insert teacher on
insert into teacher(ID,Name,Sex,Phone,Sallary) values(@@IDENTITY+1,wangying,nv,1812,10000)   
select * from teacher
set identity_insert teacher off    

set identity_insert teacher on                                                             
insert into teacher(ID,Name,Sex,Phone,Sallary) values(1,wangying,nv,1812,10000)
select * from teacher
set identity_insert teacher off

--在insert into该table时,不能指定该identity栏位的值
insert into teacher(Name,Sex,Phone,Sallary) values(wangying,nv,1812,10000)   
select * from teacher

insert into teacher values(wangying,nv,1812,10000,null,null,null)  
select * from teacher

--查询目前identity的最大值
dbcc checkident(teacher,NORESEED)

--修改目前identity的最大值以及重设该值
dbcc checkident(teacher,RESEED,100)
dbcc checkident(teacher,RESEED)     

       

 

SQL语句

标签:

原文地址:http://www.cnblogs.com/wy1290939507/p/4462155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!