数据库常识

1.数据库名(database_name)与主文件逻辑名(logical_file_name,逻辑文件名(logical_file_name)与物理文件名(os_file_name)的区别:

database_name)是数据库名,一个数据库可以对应多个物理文件,每个物理文件名和所在磁盘可以不同(通过文件组实现),logical_file_name 是在所有 Transact-SQL 语句中引用物理文件时所使用的名称。逻辑文件名必须符合 SQL Server 标识符规则,而且在数据库中的逻辑文件名中必须是唯一的。os_file_name 是包括目录路径的物理文件名。它必须符合操作系统文件命名规则。

1.2创建数据库

 

USE master ;
GO
CREATE DATABASE Sales
ON 
( NAME = Sales_dat,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

 

1.3创建数据表

 

2.SqlServer修改表结构总结

增加字段,删除字段,增加约束,删除约束,修改缺省值,修改字段数据类型,重命名字段,重命名表。所有这些动作都是用 ALTER TABLE 命令执行的。 

增加字段 
要增加一个字段,使用下面这样的命令: 
ALTER TABLE products ADD COLUMN description text;
新增的字段对于表中已经存在的行而言最初将先填充所给出的缺省值 (如果你没有声明DEFAULT子句,那么缺省是空值)。 
你也可以同时在该字段上定义约束,使用通常的语法: 
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
实际上,所有在 CREATE TABLE 里描述的可以应用于字段之选项都可以在这里使用。 不过,我们要注意的是缺省值必须满足给出的约束,否则 ADD 将会失败。 另外,你可以在你正确填充了新字段的数值之后再增加约束.

删除字段 
要删除一个字段,使用下面这样的命令: 
ALTER TABLE products DROP COLUMN description;
不管字段里有啥数据,都会消失。和这个字段相关的约束也会被删除。 不过,如果这个字段被另外一个表的外键所引用,PostgreSQL 则不会隐含地删除该约束。你可以通过使用 CASCADE 来授权删除任何依赖该字段的东西: 
ALTER TABLE products DROP COLUMN description CASCADE;

增加约束 
要增加一个约束,使用表约束语法。比如: 
ALTER TABLE products ADD CHECK (name <> ''); 
ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no); 
ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;
要增加一个不能写成表约束的非空约束,使用下面语法: 
ALTER TABLE products ALTER COLUMN product_no SET NOT NULL; 
这个约束将立即进行检查,所以表在添加约束之前必须符合约束条件。 

删除约束 
要删除一个约束,你需要知道它的名字。否则系统会分配一个生成的名字,这样你就需要 把它找出来了。psql 的命令 \d tablename 在这儿可以帮忙; 其它接口可能也提供了检查表的细节的方法。然后就是这条命令: 
ALTER TABLE products DROP CONSTRAINT some_name;(如果你在处理一个生成的约束名,比如 $2,别忘了你需要给它 添加双引号,让它成为一个有效的标识符。) 
和删除字段一样,如果你想删除有着被依赖关系地约束,你需要用 CASCADE。 一个例子是某个外键约束依赖被引用字段上的唯一约束或者主键约束。 
除了非空约束外,所有约束类型都这么用。要删除非空类型,用 
ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;(要记得非空约束没有名字。) 

设置一个字段的缺省值 
要给一个字段设置缺省值,使用一个象下面这样的命令: 
ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;
请注意这么做不会影响任何表中现有的数据行, 它只是为将来 INSERT 命令改变缺省值。 

要删除缺省值:
ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
这样实际上相当于把缺省设置为空。 结果是,如果我们删除一个还没有定义的缺省值不算错误,因为缺省隐含就是空值。 

修改一个字段的数据类型 
把一个字段转换成另外一种数据类型,使用下面的命令: 
ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);
只有在字段里现有的每个项都可以用一个隐含的类型转换转换城新的类型时才可能成功。 如果需要更复杂的转换,你可以增加一个 USING 子句,它声明如何从旧值里计算新值。 
PostgreSQL 将试图把字段的缺省值(如果存在)转换成新的类型, 还有涉及该字段的任何约束。但是这些转换可能失败,或者可能生成奇怪的结果。 在修改某字段类型之前,最好删除那些约束,然后再把手工修改过的添加上去。 

给字段改名字 
重命名一个字段: 
ALTER TABLE products RENAME COLUMN product_no TO product_number; 
给字段改名字 
给一个字段重命名: 
ALTER TABLE products RENAME COLUMN product_no TO product_number; 
给表改名字 
给一个表重命名: 
ALTER TABLE products RENAME TO items; 
 
连接数据库

1、SQL Server的连接方式

以本地服务器(LocalHost),数据库(Northwind)为例,可以有以下一些连接方式
SqlConnection conn=new SqlConnection( "Server=LocalHost;Integrated Security=SSPI;Database=Northwind");
SqlConnection conn = new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=Northwind;");
SqlConnection conn = new SqlConnection(" Data Source=LocalHost;Initial Catalog=Northwind;Integrated Security=SSPI;Persist Security Info=False;Workstation Id=XURUI;Packet Size=4096; ");
SqlConnection myConn  = new SqlConnection("Persist Security Info=False;Integrated Security=SSPI;Database=northwind;Server=LocalHost");
SqlConnection conn = new SqlConnection(" Uid=sa;Pwd=***;Initial Catalog=Northwind;Data Source=LocalHost;Connect Timeout=900");
a.Server和Database,Data Source和Initial Catalog配对使用的,可以互相替换
b.Integrated Security默认值是False,此时需要提供Uid和Pwd,即将以Sql Server 用户身份登陆数据库;如果设置为True,Yes 或 SSPI,这不能出现Uid和Pwd,将以Windows用户省份登陆数据库。强烈推荐用后一种形式,安全性更高。
c.Integrated Security和Persist Security Info同时出现,后者设置为False,可保证信息安全。

更多字符串连接说明请看MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlClientSqlConnectionClassConnectionStringTopic.asp

 

 
更多相关文章
  • 前面的博文介绍了Drupal7核心.模块和主题如何安装,以及如何使用Drush来进行简化管理.那么接下来为了能够更好地使用Drupal7,还需要对Drupal7做一些初步设置,这里牵涉到界面.管理以及其它方面的一些设置和优化. 一.方便管理 为了能够更加方便地对Drupal7进行管理,笔者推荐使用以 ...
  • 易网科技讯 8月10日消息,去哪儿网今天发布<关于携程涉嫌违反<反垄断法>经营者集中申报程序的声明>,去哪儿称,对涉嫌未依法申报的经营者集中,任何单位和个人有权向商务部,去哪儿网携程是依法行事.事情起因是8月7日,去哪儿向商务部反垄断局递交文件,携程收购艺龙违法.对此,携程回 ...
  • 13年上半年接触了Golang,对Golang十分喜爱.现在是2015年,离春节还有几天,从开始学习到现在的一年半时间里,前前后后也用Golang写了些代码,其中包括业余时间的,也有产品项目中的.一直有想法写点Golang相关的总结或者感想,决定还是在年前总结下吧.注明下:我只是Golang的喜好者 ...
  • 1.什么是优先队列 能够完成下列两种操作的数据结构,我们便称之为优先队列. ①插入一个数值 ②取出最大(或者最小)的数值(获取数值,并且删除). 从严格意义上来说优先队列,并不是队列,因为它并不遵循队列的FIFO(先进先出的原则). 2.实现优先队列 我们可以使用一种叫做“堆(heap)”的数据结构 ...
  • window.location.href='http://www.51cto.com/edm/weeklyedm/edm422-150727.html';  
  • #python  exploit_me_A overflow exploit by k8team #注意 如果shellcode中 出现0x00 得加密后再(因为strcpy函数截断0x00) #python 2.7.3 import httplib conn = httplib.HTTPConne ...
一周排行
  • 3月16日,在阿布扎比的一个投资退出战略大会上,俄罗斯DST集团CEO尤里·米尔纳说:"我认为下一个大主题(Big Theme)是'Curation'(对信息的有效掌管),即你如何筛选来源众多的信息,它们每 ...
  • 就在昨天晚上,WordPress 联合创始人 Matt Mullenweg 在他的博客上说,一个小时内 WordPress 涌现 72 篇博文,而一个普通周日晚上的博文量通常只有每小时 400 到 600 篇左右.虽 ...
  • 易网科技讯 7月9日消息,美国6月份失业率连续第三个月上升,处于去年12月份以来的最高水平,打击了投资者对美国经济复苏的乐观情绪.美国股市三大股指周五收跌.截止周五收盘,道琼斯工业平均指数下跌62.29点,报收于12 ...
  • 在android项目中,有时需要一些全局的静态变量来保存一些数据,这样在关闭赋值界面后,其他的页面还可以调用这些数据.   但是我们知道,在java中全局静态变量(java中没有全局变量这一个概念,但是java提供了 ...
  • 保护系统安全-让'windows任务管理器'对话框失去作用 如果为了系统的安全,可以禁止别人操作你系统中的一些功能,这些在网吧中比较常见.有一次我去一个网吧,突然机器卡住了.于是同时按住ctrl+alt+delete ...
  • (本文章以as3代码为例) 问题的产生 在前端开发时,经常会使用到Ajax(Asynchronous Javascript And XML)请求向服务器查询信息(get)或交换数据(post),ajax请求都是异步响 ...
  • 题目链接:hdu 3308 LCIS 题目大意:给定一个序列,两种操作: Q l r:查询区间l,r中的最长连续递增序列长度U p x:将位置p上的数改成x 解题思路:线段树上的区间合并,这是在左右子树合并的时候要判 ...
  • 全国等级考试计算机四级机试试题及答案 1./*prog1 已知数据文件 IN.DAT中存有500个三位数,并已调用读函数readdat()把 这些数存入数组a中,请考生编制一函数jsValue(),其功能是:要求得出 ...
  • 看到论坛里有一篇<java语言的危险性>的帖子,不觉的也想写点什么说说java这个平台,我想用平台这个词更恰当毋庸置疑,java语言本身是没有危险性,相反我们是要感谢的java 曾经带给程序员的方便,现对 ...
  • http://dev.mysql.com/doc/refman/5.1/zh/index.html3.1. 连接与断开服务器3.2. 输入查询3.3. 创建并使用数据库3.3.1. 创建并选择数据库3.3.2. 创建 ...