SQL Server的使用笔记

原创 2005年05月21日 13:06:00

1.在修改table时,SQL Srever 2000可以如下:
alter database dbstudent modify file(name=dbstudent,maxsize=30)
语句来修改数据库的存根文件,使之到达最好的使用效率。
在sql server 2000中可以对表的列进行添加(该列是能为空的),对列的约束进行删除,还不能对列进行修改!
alter table student add phone CHAR(8);
alter table student modify phone CHAR(12);//会报错:服务器: 消息 170,级别 15,状态 1,行 16
第 16 行: 'phone' 附近有语法错误
2.select HOST_NAME() as 'hostname',HOST_ID() as 'host_id',USER_NAME() as 'user_name',USER_ID() as 'user_id', DB_NAME() as 'db_name';//返回一些系统信息
select CURRENT_USER as 'currentuser' ,CURRENT_TIMESTAMP as 'dthghgime';//返回当前用户和时间

select lenth=DATALENGTH(code),code from student;--返回code字段的设计长度
select col_length('student','name') as 'int',
col_length('student','code') as 'char'//还回对应列的设计长度

3.select HOST_NAME() as 'hostname',HOST_ID() as 'host_id',USER_NAME() as 'user_name',USER_ID() as 'user_id', DB_NAME() as 'db_name';//返回一些系统信息
select CURRENT_USER as 'currentuser' ,CURRENT_TIMESTAMP as 'dthghgime';//返回当前用户和时间

select lenth=DATALENGTH(code),code from student;--返回code字段的实际占的长度,对于可变长的而言,是一个变化的
select col_length('student','name') as 'int',
col_length('student','code') as 'char'//还回对应列的设计长度,不论是否时可变长的还是不可变长的。

4.在sql server 2000中支持like多种应用:
1)like '%jhdfjd'
2) like '%jhfdh%'
3) like '%djfj%djj_'
4) like '%jdfjk...jhsdh%'

sql server支持的not关系是:and not。而不是直接用not

begin transaction mustt
insert into student values(12,'kkk','j大洒扫','j','djhdjh')

insert into student values(45,'jhsjhs','j','h','asjkdjk')
if @@ERROR<>0
BEGIN
ROLLBACK TRANSACTION mustt
print 'error'
RETURN
END
COMMIT TRANSACTION mustt

//在上面的事务中,当两条插入语句有出现错误的时候,没有错误的就插入到表中,错误的语句不影响到正确的插入语句。

保存事务:
begin transaction savemustt
insert into student values(13,'kkk','j','j','djhdjh')
save transaction before_insert_data2
insert into student values(46,'jhsjhs','j','h','asjkdjk')

ROLLBACK TRANSACTION before_insert_data2 /*这样就以第一条记录为保存点,且只插入第一条记录,*/
5./*声明触发器
create trigger dl_stu_mess4 on student for delete
as
declare @name_id int
select @name_id=stu.name from student stu,deleted d where stu.name=d.name
if exists(select * from books where books.name=@name_id)
delete from books where books.name=@name_id
print 'jhsdjkjk'
print @name_id
*/
/*
create trigger dl_stu_mess3 on books for delete
as
declare @name_id int
select @name_id=bo.name from books bo,deleted d where bo.name=d.name
if exists(select * from student where student.name=@name_id)
delete from student where student.name=@name_id
print 'jhsdjkjk'
print @name_id
*/
--sp_depends books 查看触发器
--sp_helptrigger student; 查看触发器信息
--drop trigger dl_stu_mess4; 删除触发器
insert into student values(2,'4jkjjk','d','j','shs');
--delete from student where stu.name=2; 删除操作
select * from student;
--delete from books where books.name='2'
--select * from books;
6.sql支持数据类型转换,可以把stirng转成int,但可能会出现异常.
7.一般不要用name等之类的关键词来命名字段,这样会对访问的时候产生影响。

SQL Server 强大的分区技术(使用语句检测和优化数据库 (MSSQL个人笔记之数据库优化之路 三)

今天要一起学习下大数据处理技术:分区技术 一般在海量数据处理过程中经常会使用到分区技术把表和视图划分为不同的区域,没个区域中包含满足特定条件的数据。   分区的类型   硬分区 增加冗余的...

SQL Server 强大的分区技术优化执行计划索引实例详解(使用语句检测和优化数据库 (MSSQL个人笔记之数据库优化之路 四)

--SQL Server 强大的分区技术(使用语句检测和优化数据库 (MSSQL个人笔记之数据库优化之路 三) /*************************************...

APS.NET_MVC5学习笔记-创建连接字符串(Connection String)并使用SQL Server LocalDB

您创建的MovieDBContext类负责处理连接到数据库,并将Movie对象映射到数据库记录的任务中。你可能会问一个问题,如何指定它将连接到数据库? 实际上,确实没有指定要使用的数据库,Entity...

sql server数据库笔记.zip

  • 2016年10月12日 00:25
  • 2.66MB
  • 下载

C#的Sql server学习笔记

  • 2015年08月10日 10:28
  • 17KB
  • 下载

[Sql2005笔记] Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解

导读部分 ----------------------------------------------------------------------------------------------...
  • yaer123
  • yaer123
  • 2014年03月01日 17:14
  • 381

sql server2000 笔记

  • 2015年01月17日 02:48
  • 1.21MB
  • 下载

SQL Server 学习笔记

  • 2013年05月05日 16:15
  • 50KB
  • 下载

SQL server数据库课程笔记

本博客仅仅为了上课的记忆,完全基础!!! 数据是数据库中存储的基本对象;数据库数据具有永久存储、有组织、可共享三个基本特点;数据库是长期存储在计算机内的、有组织的、可共享的数据集合;数据库系统是指在...

sql server学习笔记

  • 2012年11月29日 00:12
  • 499KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server的使用笔记
举报原因:
原因补充:

(最多只允许输入30个字)