sql语句命令
select-------------------------------------------------数据查询 create(创建)、drop(删除)、alter(修改)------------- 数据定义 insert(出入)、update(修改)、delete(删除)---------- 数据操纵 drant(授权)、revoke恢复)--------------------------- 数据控制 创建数据库
createdatabase〈数据库文件名〉 on [primary]
(name=数据库逻辑文件名,
filename=‘数据库文件名后缀及存取路径’ [,size=初始容量值
[,maxsize=最大容量值|unlimited] [,filegrowth=增加值]) [, ?] [log on
(name=数据库逻辑文件名,
filename=‘数据库文件名后缀及存取路径’ [,size=初始容量值
[,maxsize=最大容量值|unlimited] [,filegrowth=增加值]) [, ?] [for load| for attach]
① 数据库名是新定义数据库的文件名称,最多由128个字符组成,其文件后缀是mdf ② on [primary]子句用来指定数据库文件信息,可以用逗号分开列出多个文件及文件组文件,默认第一个为主文
增加字段的sql语句 件
③ size用数值表示,单位是kb或mb,默认为1mb
④ maxsize用数值表示,单位是kb或mb,默认为mb;unlimited则为整个磁盘容量
⑤ log on子句定义多个事务日志文件若忽略该子句,默认生成一个与数据库文件同名后缀为ldf,容量为1/4
数据库文件大小的事务日志文件
⑥ for attach子句可以为已经存在的数据库文件创建一个新的数据库 ⑦ for load子句可以将备份直接装入新建数据库
例1:在指定路径“e:\测试\”中,创建一个学生管理系统的数据库:“学生”,主文件名为“
学生-data.mdf”,初始大小为5mb,最大尺寸为无限,增长速度为10%,;事务日志文件文件名为:“log.ldf”,初始大小为1mb,最大尺寸为3mb,增长速度为1mb.
在sql server2000中启动查询分析器,在查询窗口输入t-sql命令: create database 学生 on primary
(name=′学生-data.mdf′,
filename=‵e:\测试\学生\-data.mdf′, size=5,
maxsize=unlimited, filegrowth=10%) log on
(name=′学生-log′,
filename=‵e:\测试\学生\-log.ldf′, size=1, maxsize=3, filegrowth=1) 创建数据表
?sql server 2000中
create table [数据库名。[所有者。]|〈表名〉 〈列名〉〈数据类型〉[[default初值]|[identity[(初值,增量)]]] [rowguidcol] [null]|not null]
primary key|unique] [′ ?]) [check (逻辑表达式)]
① 表名是命令必需的,是用户要定义(创建)的新表名称
② 在圆括号中定义表的各列,必需定义列名、数据类型、长度,各列之间用逗号分隔 ③ 选项default可以给定该列初始值
④ 选项identity可以指定该列为表的标识列,注意此选项不能与default选项同时使用 ⑤ 选项rowguidcol指定该列为该表的唯一标识行列 ⑥ 选项null和not null只能任选其一 ⑦ 选项primary key指定一列或多列组合为表的主码,一个表只有一个主码,系统会自动为此列或列组建立唯一
索引
⑧ 选项unique指定一列或多列组合为表候选码,在表中指定列对于各行具有唯一性 ⑨ 选项check限定指定列的取值范围 ?visual foxpro 6.0 create table|dbf〈表名〉[free](〈字段名1〉〈类型〉(〈长度〉[′〈小数位数〉])[′〈字段名2〉〈类型〉(〈长度〉[′〈小数位数〉])??][null][notnull][default字段初始值][ primary key][ unique] [check(表的有效性规
则)] [error“错误信息”]
例2:建立表xs.dbf,其中有姓名xm、年龄nl、性别xb三个字段;其中姓名不为空,取值唯一 create table xs(xm c(6) not null unique,nl n (4,1),xb l) 还可以对年龄字段的值增加有效性和初值,执行以下命令: create table
xs3(xm c(6) primary key,nl n (4,1) check(nl>16 and nl<26) error“年龄值超出范围!” default 18,xb l) 数据类型
?sql server 2000中 ① 字符型
char:按固定长度存放字符,每个字符占一个字节,用char(n)的形式定义,范围1-8000 vchar:不按固定长度存放,用vchar(n)的形式定义,范围1-8000 nchar:与char相同,但每个字符占两个字节,最多存放4000个字节 nvchar: 与vchar相同,但每个字符占两个字节,最多存放4000个字节 ② 整形数。用于存放整数
3131
int:存放-2-2-1之间的整数,一个整数占4个字节
1515
smallint: 存放-2-2-1之间的整数,一个整数占2个字节 tinyint:存放0-255之间的正整数,一个整数占1个字节
6363
bigint: -2-2-1之间的整数,一个整数占8个字节 ③浮点数。用来存放实数
real:一个浮点数占4个字节,最大可以精确到7位 float:默认为8个字节的浮点数,可以用float(n),精度15位
decimal和numeric:这两个是同义的,一般使用decimal,可以用dec(p,s) ,精度38位.其中p表示精度位数(1-38),s表示小数位数(0-p) ④日期时间。存放日期和时间信息
datetime:日期和时间混合存放,范围是1753年1月1日零时-9999年12月31日23时59分59秒,占8个字节 smalldatetime:只占4个字节存放数据,范围1900年1月1日-2079年6月6日,精确到分 ⑤货币型。专门用于货币数据处理
money:按整数4个字节,小数4个字节的形式存放,可以精确到万分之一 smallmoney: 按整数2个字节,小数2个字节的形式存放,精确到万分之一 ⑥二进制数。包括binary固定长度和varbinary可变长度两种定义类型 ⑦文本和图形。
text:存放大文本数据
ntext:与text相同,但是每个字符占2个字节 image:用于存放照片、目录图片或图画等 ⑧特殊类型。
timestamp:时间戳类型
uniqueidentifier:全局标识代码 ?visual foxpro 6.0 字符型(c);数值型(n);货币型(y);日期型(d);日期时间型(t);逻辑型(l),只有真(.t.)和假(.f.)两种;备注型(m);通用型(g),用于存储ole对象的数据 修改表结构
?sql server 2000中 alter table 表名
add|alter column |drop column〈字段名1〉[类型[(长度)]] [null] [not null] [?] ?visual foxpro 6.0中 alter table 〈表名〉
add|alter [column]〈字段名1〉〈类型〉(〈长度〉[,〈小数位数〉] [null] [not null]
例3:在库中有一个student1表,先添加列:院系yx char(4),出生日期cspq datetime,备注bz ntext;再将xh列改为int型数据,将xm列改为长度10,将nl列改为smallint型数据;最后删除zp列和rq列。 sql server 2000 use 学生
alter table student1 add yx char(4),csrq datetime,bz ntext alter table student1 alter column xh int
alter table student1 alter column xm char(10) alter table student1 alter column nl smallint alter table student1 drop column rq,zp visual foxpro 6.0中
例4:要为表xs.dbf增加职称字段zc,并将年龄字段nl的宽度改为两位小数 alter table xs add zc c(6) alter nl n (2,0) 表的删除
在sql server 2000和visual foxpro 6.0中删除数据表的命令是一样的 drop table 〈表名〉 数据的插入
sql server 2000
insert [into]〈表名〉[(列名)] values(表达式)
① 列名是要插入数据表的每个列名,各列名之间用逗号隔开,如果省略则表示所有列
② 表达式是要插入的各列值,各列值之间用逗号隔开,顺序和数据类型必须与表列一致。表达式可以是常量、变
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论