-- 区分主键表和外键表
有外键的叫外键表
有主见的叫主键表
-- 附加数据库
create database 数据库 on(filename='数据库路径') for attach
-- 分离数据库
sp_detach_db 数据库
-- 创建指定数据和事务日志文件的数据库
use master;
create database Test_DateBase
on
(
-- 文件
name='Test_dat',
filename='D:\Date\Testdat.mdf',
size=3MB,
maxsize=25MB,
filegrowth=3MB
)
Log on
(
-- 日志
Name='Test_log',
FileName='D:\Date\Testlog.ldf',
Size=1MB,
MaxSize=10MB,
FileGrowth=5%
)
-- 创建 主键表
create Table CityAddress1_Table
(
CityID int identity(1, 1) primary key not null,
MyAddress Nvarchar(50)
)
-- 创建 外键标
use Test_DateBase;
Create Table Person_Table
(
-- primary key clustered ([person] asc)
-- 主键约束 (primary key) 标识自增 ( --identiry(标识种子, 标识增量)-- )
Person int Primary key Identity (1, 1) not null,
-- 非空约束 (not null)
PersonName Nvarchar(25) not null,
-- 默认约束 ( --default('默认值')-- )
PersonAge int default ('5') null,
-- 检查约束 ( --check(check约束表达式)-- )
PersonSex Nvarchar(5) check(PersonSex=N'男' or PersonSex=N'女' or PersonSex=N'boy' or PersonSex='Girl') null,
-- 添加唯一约束 ( unique )
PersonId int unique not null,
-- 添加外键约束( --foreign key (外键) references 主键表(主键ID)-- )
PersonAddress int null,
foreign key(PersonAddress) references CityAddress1(CityID)
)
-- 插入数据
INSERT INTO [dbo].[Person_Table]
([Person], [PersonName], [PersonAge], [PersonSex], [PersonId], [PersonAddress])
VALUES
(335, N'小兰', 16, N'女', 1, N'上海')
Insert Person_Table Values (5, N'小兰', 16, N'女', 16, N'日本');
-- update 修改数据
UpDate Person_Table Set Person = '2' Where PersonId='2';
-- delete 删除 表中的所有行
delete from Person_Table;
-- delete 删除 表中的 行
delete from Person_Table where Person='63';
-- drop 删除 表
drop table Person_Table;
-- drop 删除 数据库
drop database Test_DateBase;
-- 查询 Person_Table
select * from Person_Table
--表中选取 PersonName 列的数据
select PersonName from Person_Table
-------------------------------------------------------------------------
--修改表结构添加约束
--alter table (表名) add constraint (约束名) 约束关键字 (约束条件); -- 添加约束
--alter table (表名) drop constraint (约束名) -- 删除约束
-- 添加 check(检查)约束
-- alter table 表名 add constraint 约束名 check(check表达式);
alter table Person_Table add constraint CK_Person_Table_PersonSex check(PersonSex=N'男' or PersonSex=N'女' or PersonSex=N'boy' or PersonSex=N'Girl');
-- 删除 check(检查)约束
alter table Person_Table drop constraint CK_Person_Table_PersonSex;
-- 添加 唯一约束
-- alter table 表名 add constraint 约束名 unique(字段);
alter table Person_Table add constraint AK_Person_Table_PersonId unique(PersonId);
-- 删除 唯一约束
alter table Person_Table drop constraint AK_Person_Table_PersonId;
-- 添加 默认约束
--alter table 表名 add constraint 约束名 default(值) for 字段;
alter table Person_Table add constraint DF_Person_Table_PersonAge default(18) for PersonAge;
-- 删除 默认约束
alter table Person_Table drop constraint DF_Person_Table_PersonAge;
-- 添加非空约束
-- alter table 表名 alter column 字段 类型 not null;
alter table Person_Table alter column PersonName Nvarchar(25) not null;
-- 删除非空约束
alter table Person_Table alter column PersonName Nvarchar(25) null;
-- 添加 外键约束
-- alter table 表名 add constraint 外键名 foreign key (外键字段) references 主键表 (主键字段);
alter table Person_Table add constraint FK_Person_Table_PersonAddress foreign key (PersonAddress) references CityAddress_Table (CityId);
--删除 列
--alter table 表名 drop column 列名;
alter table Person_Table drop column PersonAddress;
-- 增加 列
-- alter table 表名 add 字段 类型 是否为空 default 默认值;
alter table Person_Table add PersonAddress int not null default 5;
- 修改数据类型
-- alter table 表名 alter column 列名 类型;
alter table Person_Table alter column PersonId int;
-- 查看表所有的约束
select * from sys.Objects
-------------------------------------------------------------------------
-- 切换到系统数据库
use master;
-- 创建数据库
create database TestDataBase(数据库名);
-- 创建数据库
use master;
go
create database sales
on
(
-- 数据文件存放的地方
name = sales_dat, -- 数据库的名字
filename = 'c:\data\saledat.mdf', -- 数据库路径
size = 3mb, -- 数据库初始值
maxsize = 50mb, -- 数据库最大值
filegrowth = 5mb -- 数据库增长多少 单位默认(mb) 也可以用(%)
)
log on
(
-- 日志文件存放的地方
name = sales_log,
filename = 'c:\data\salelog.ldf',
size = 1mb,
maxsize = 25mb,
filegrowth = 10%
) ;
-- 删除数据库
drop database TestDataBase(数据库名);
-- 切换数据库
use TestDataBase(数据库名);
-- 创建表
create table dbo.Person(表名);
(
Id int primary key identity(1,1) not null,
Name nvarchar(10) not null,
Age int not null,
Sex nchar(1) not null
)
-- 查询数据库(L)中,表(table_L)的数据
use L;
select * from Person(表名);
-- 创建表(Person)
use L;
go
create table dbo.Person
(
Id int primary key identity(1,1),
Name Nvarchar(10),
Age int,
Sex Nvarchar(1)
);
-- 删除表
drop table Person(表名);
-- 插入数据
insert into Person(Name,Age,Sex)values('柯南',7,'男');
insert into Person values('柯南',8,'男');
insert into Person values('小兰',16,'女');
insert into Person values('新一',17,'男');
-- 修改表中的数据
update Person(表名) set (修改的字段)Name='test' where(条件) Id='5';
-- 删除表中的一行数据
delete from Person where Id='4';
-- 删除表中的所有数据, 不包括(自动增长)数据
delete from Person
-- 删除表中的所有数据,包括(自动增长)数据
truncate table Person
-- 查看表中的数据
select * from Person(表名)
有外键的叫外键表
有主见的叫主键表
-- 附加数据库
create database 数据库 on(filename='数据库路径') for attach
-- 分离数据库
sp_detach_db 数据库
-- 创建指定数据和事务日志文件的数据库
use master;
create database Test_DateBase
on
(
-- 文件
name='Test_dat',
filename='D:\Date\Testdat.mdf',
size=3MB,
maxsize=25MB,
filegrowth=3MB
)
Log on
(
-- 日志
Name='Test_log',
FileName='D:\Date\Testlog.ldf',
Size=1MB,
MaxSize=10MB,
FileGrowth=5%
)
-- 创建 主键表
create Table CityAddress1_Table
(
CityID int identity(1, 1) primary key not null,
MyAddress Nvarchar(50)
)
-- 创建 外键标
use Test_DateBase;
Create Table Person_Table
(
-- primary key clustered ([person] asc)
-- 主键约束 (primary key) 标识自增 ( --identiry(标识种子, 标识增量)-- )
Person int Primary key Identity (1, 1) not null,
-- 非空约束 (not null)
PersonName Nvarchar(25) not null,
-- 默认约束 ( --default('默认值')-- )
PersonAge int default ('5') null,
-- 检查约束 ( --check(check约束表达式)-- )
PersonSex Nvarchar(5) check(PersonSex=N'男' or PersonSex=N'女' or PersonSex=N'boy' or PersonSex='Girl') null,
-- 添加唯一约束 ( unique )
PersonId int unique not null,
-- 添加外键约束( --foreign key (外键) references 主键表(主键ID)-- )
PersonAddress int null,
foreign key(PersonAddress) references CityAddress1(CityID)
)
-- 插入数据
INSERT INTO [dbo].[Person_Table]
([Person], [PersonName], [PersonAge], [PersonSex], [PersonId], [PersonAddress])
VALUES
(335, N'小兰', 16, N'女', 1, N'上海')
Insert Person_Table Values (5, N'小兰', 16, N'女', 16, N'日本');
-- update 修改数据
UpDate Person_Table Set Person = '2' Where PersonId='2';
-- delete 删除 表中的所有行
delete from Person_Table;
-- delete 删除 表中的 行
delete from Person_Table where Person='63';
-- drop 删除 表
drop table Person_Table;
-- drop 删除 数据库
drop database Test_DateBase;
-- 查询 Person_Table
select * from Person_Table
--表中选取 PersonName 列的数据
select PersonName from Person_Table
-------------------------------------------------------------------------
--修改表结构添加约束
--alter table (表名) add constraint (约束名) 约束关键字 (约束条件); -- 添加约束
--alter table (表名) drop constraint (约束名) -- 删除约束
-- 添加 check(检查)约束
-- alter table 表名 add constraint 约束名 check(check表达式);
alter table Person_Table add constraint CK_Person_Table_PersonSex check(PersonSex=N'男' or PersonSex=N'女' or PersonSex=N'boy' or PersonSex=N'Girl');
-- 删除 check(检查)约束
alter table Person_Table drop constraint CK_Person_Table_PersonSex;
-- 添加 唯一约束
-- alter table 表名 add constraint 约束名 unique(字段);
alter table Person_Table add constraint AK_Person_Table_PersonId unique(PersonId);
-- 删除 唯一约束
alter table Person_Table drop constraint AK_Person_Table_PersonId;
-- 添加 默认约束
--alter table 表名 add constraint 约束名 default(值) for 字段;
alter table Person_Table add constraint DF_Person_Table_PersonAge default(18) for PersonAge;
-- 删除 默认约束
alter table Person_Table drop constraint DF_Person_Table_PersonAge;
-- 添加非空约束
-- alter table 表名 alter column 字段 类型 not null;
alter table Person_Table alter column PersonName Nvarchar(25) not null;
-- 删除非空约束
alter table Person_Table alter column PersonName Nvarchar(25) null;
-- 添加 外键约束
-- alter table 表名 add constraint 外键名 foreign key (外键字段) references 主键表 (主键字段);
alter table Person_Table add constraint FK_Person_Table_PersonAddress foreign key (PersonAddress) references CityAddress_Table (CityId);
--删除 列
--alter table 表名 drop column 列名;
alter table Person_Table drop column PersonAddress;
-- 增加 列
-- alter table 表名 add 字段 类型 是否为空 default 默认值;
alter table Person_Table add PersonAddress int not null default 5;
- 修改数据类型
-- alter table 表名 alter column 列名 类型;
alter table Person_Table alter column PersonId int;
-- 查看表所有的约束
select * from sys.Objects
-------------------------------------------------------------------------
-- 切换到系统数据库
use master;
-- 创建数据库
create database TestDataBase(数据库名);
-- 创建数据库
use master;
go
create database sales
on
(
-- 数据文件存放的地方
name = sales_dat, -- 数据库的名字
filename = 'c:\data\saledat.mdf', -- 数据库路径
size = 3mb, -- 数据库初始值
maxsize = 50mb, -- 数据库最大值
filegrowth = 5mb -- 数据库增长多少 单位默认(mb) 也可以用(%)
)
log on
(
-- 日志文件存放的地方
name = sales_log,
filename = 'c:\data\salelog.ldf',
size = 1mb,
maxsize = 25mb,
filegrowth = 10%
) ;
-- 删除数据库
drop database TestDataBase(数据库名);
-- 切换数据库
use TestDataBase(数据库名);
-- 创建表
create table dbo.Person(表名);
(
Id int primary key identity(1,1) not null,
Name nvarchar(10) not null,
Age int not null,
Sex nchar(1) not null
)
-- 查询数据库(L)中,表(table_L)的数据
use L;
select * from Person(表名);
-- 创建表(Person)
use L;
go
create table dbo.Person
(
Id int primary key identity(1,1),
Name Nvarchar(10),
Age int,
Sex Nvarchar(1)
);
-- 删除表
drop table Person(表名);
-- 插入数据
insert into Person(Name,Age,Sex)values('柯南',7,'男');
insert into Person values('柯南',8,'男');
insert into Person values('小兰',16,'女');
insert into Person values('新一',17,'男');
-- 修改表中的数据
update Person(表名) set (修改的字段)Name='test' where(条件) Id='5';
-- 删除表中的一行数据
delete from Person where Id='4';
-- 删除表中的所有数据, 不包括(自动增长)数据
delete from Person
-- 删除表中的所有数据,包括(自动增长)数据
truncate table Person
-- 查看表中的数据
select * from Person(表名)