数据库常识

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 ...
一周排行
  • Lable的Left属性是可以更改的,但是 Right属性不可以更改,所以我们可以利用 这个特点做自加 自减运算       using System; using System.Collections.Generi ...
  • 1.一定要相信30岁很快就会到来,无论你是在魔兽.CS还是蹦迪泡吧,就算装得再嫩,岁月总会在你的心里留下烙印,掩饰永远都不能改变事实,办法只有一个:提前做好准备,即使你现在只有18岁,脸皮还能掐的水来.30岁一过,一 ...
  • Nagios短信报警功能通过飞信实现 现在在已有邮件报警的基础上,再进行短信报警的实现,而实现短信报警是通过调用飞信来实现的,下面具体说一下安装的步骤. 1.首先保证sms这个脚本能正常运行,并且能够发送飞信. 2. ...
  • 每个技术人员离职,留下的人 就要修改他的服务器账号密码,很麻烦,故写次脚本偷懒 change.sh 如下 #!/bin/bash for i in `awk '{print $1}' account.txt` do ...
  • CAD技巧之002——如何用Cass内插高程点或者说加密高程点 很多同志如果遇到奇葩的Cass内插高程点或者说加密高程点,怎么办,一个个编辑?如果工作量很大,怎么办呢. 今天九天就教您一个好方法! 废话不多说,上动画 ...
  • 易网科技讯8月20日消息,据国外媒体报道,美国电信公司AT&T副总裁已对公司全员下发通知称,iPhone 5将于10月初发售.AT&T这位副总裁同时也向公司员工发布一项警告称,"在未来的35 ...
  • DEMO: ABAngel Beats! SAOSword Art Online GTOGreat Teacher Onizuka TRCTsubasa Reservoir Chronicle D.C.Da Capo ...
  •   请注意 ......著作权所有人:物泽计算机事业股份有限公司.              MISOO对象技术顾问团队.对象导向杂志作者.等.u本文件摘自 对象导向杂志.精通对象观念与技术等书籍著作.u本文件仅供您 ...
  • --源端数据库配置 [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.1.0 Production on Tue Apr 8 ...
  • 以下的代码能使游戏暂停,记得要使速度*Time.deltaTime,目的是保证游戏运行在帧数不同的情况下,角色移动速度都一样,因为此时角色是按时间移动与帧数无关. using UnityEngine; using S ...