sql

-- 区分主键表和外键表
有外键的叫外键表
有主见的叫主键表


-- 附加数据库
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(表名)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值