在sql建立数据库,表及约束的示例

use master
go
if exists(select * from sysdatabases where name='bookshopDB' )
drop database bookshopDB
create database bookshopDB
on
(
name = soeasyDb_dat,
filename = 'd:\bookshopDB_date.mdf',
size = 1MB,
maxsize = 100MB,
filegrowth = 1%
)
log on
(
name = soeasyDb_log,
filename = 'd:\bookshopDB_log.ldf',
size = 1MB,
maxsize = 100MB,
filegrowth = 1%
)
go
---------创建会员信息表,表名为:user_info--------------------
use bookshopDB
go
if exists(select * from sysobjects where name = 'user_info')
drop table user_info
create table user_info
(

u_id int identity(1,1) primary key not null, --会员ID,自动增长型,primary key
u_name nvarchar(30) not null, --会员帐号 唯一性。
u_pwd nvarchar(35) not null, --会员密码(最长16位)。
u_question nvarchar(50), --密码提示问题
u_answer nvarchar(50), --密码提示答案
u_rname nvarchar(12) not null, --会员真实姓名
u_age int , --年龄(18<age<100)
u_sex nvarchar(4), --性别(男或女)
u_tel nvarchar(15), --电话(坐机或是传真机)
u_address nvarchar(100) , --地址
u_time datetime , --注册时间(当前注册时系统的时间)
u_count int --用户登陆次数


)
go


------oracle方式:--------

create table emp(
eid number primary key not null,
empname varchar2(20) not null,
pwd varchar2(16) not null,
depid number(4),
birthday date,
sex varchar(2),
addr varchar2(100)
)

create table love(
lid number(2) primary key not null,
lovename varchar2(20) not null
)

drop table dep ---删除dep表


create table dep(
depid number(4) primary key not null,
depname varchar2(20) not null
)

create table emplove(
elid number primary key not null,
eid number ,
lid number
)

----------------添加主键生成策略

create sequence emp_seq increment by 1 start with 1 maxvalue 999
create sequence dep_seq increment by 1 start with 1 maxvalue 99
create sequence love_seq increment by 1 start with 1 maxvalue 99
create sequence emplove_seq increment by 1 start with 1 maxvalue 99

-----------添加外键约束
alter table emp add constraint fk_depid foreign key(depid) references dep(depid)

alter table emplove add constraint fk_eid foreign key(eid) references emp(eid)

alter table emplove add constraint fk_lid foreign key(lid) references love(lid)
---------------------------删除外键约束
alter table love drop constraint fk_lid


alter table user_info --添加表so_user字段u_name的唯一性
add constraint uq_so_user_u_name unique (u_name)
go

alter table user_info --添加check约束(性别必须为男或是女)
add constraint ck_so_user_u_sex check ([u_sex]= '男'or [u_sex]= '女')
go

alter table user_info --添加默认default约束(可以得到系统默认时间)
add constraint df_so_user_u_time default (getdate()) for u_time
go


修改SQL数据库的登陆密码 EXEC sp_password null, '新密码',sa


在SQL Server 2000 里查询得到当前数据库的所有数据表名的方法:
sp_tables
或:
select * from INFORMATION_SCHEMA.TABLES
或:
select * from sysobjects where xtype='U' and status>0


在oracle里查询得到当前数据库的所有数据表名的方法:
select tname from tab


查询sql server中的字符集的方法:use master
select * from syscharsets


查询oracle字符集的方法:select userenv(‘language’) from dual


增加表字段:alter table 表名 add 字段 类型

添加数据库用户:exec sp_addlogin 'sde','bsth'
exec sp_adduser 'sde','sde','public'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值