SQL基础知识

本文介绍了使用SQL进行数据库备份和还原的简单方法,如备份语句'backup database Test to disk='D:/Test.bak''等。还详细阐述了DDL、DML、DCL语言,重点讲解了使用ALTER TABLE语句对表结构进行添加、修改、删除列,增加约束等操作,并给出了多个实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--使用SQL最简单备份,还原数据库:

1、备份:backup database Test to disk='D:/Test.bak'

2、还原:restore database Test from disk='D:/Test.bak'

DDL:数据定义语言。包括:alter、drop、add、create

--DML:数据操作语言。包括:insert、update、delete

--DCL:数据控制语言。

1、--修改表的结构,将age列删除

alter table Emp drop column age;

2、--修改表的结构,增加age列

alter table Emp add age int;

3、--修改表的结构,给Emp中的id列加一个非空约束

alter table Emp alter column id int not null;

4、--修改表的结构,给Emp表的id列加一个主键约束

alter table Emp add constraint PK_Emp_id primary key(id);

5、--修改表的结构,给Emp表的name列加一唯一约束

alter table Emp add constraint UQ_Emp_name unique(name);

6、--修改表的结构,给Emp表的age列加一个检查约束,只允许年龄介于0到120之间

alter table Emp add constraint CK_Emp_age check(age>=0 and age<=120);

7、--修改表的结构,给Emp表的gender列加一个检查约束,只允许输入'男'或'女'

alter table Emp add constraint CK_Emp_gender check(gender='男' or gender='女');

8、--修改表的结构,给Emp表的DepId加一个外键约束(为什么要加?加了后这个列就不能随便输入,必须要是主键表中的主键列存在的数据)

alter table Emp add constraint FK_Emp_DepId foreign key(DepId) references Dep(id);

9、--修改表的结构,给Emp表的gender列加一个默认约束,默认为'女';

alter table Emp add constraint DF_Emp_gender default('女') for gender;

10、--修改表的结构,将Emp表中的gender列的所有约束删掉(目的是为下面的修改gender数据类型做准备)

alter table Emp drop constraint DF_Emp_gender;

alter table Emp drop constraint CK_Emp_gender;

A、--修改表的结构,将Emp表中的gender修改为bit类型

alter table Emp alter column gender bit;

B、--修改表的结构,将Emp表中的所有约束一块删除(一个sql全部删除)

alter table Emp drop

constraint PK_Emp_id,

constraint FK_Emp_DepId,

constraint UQ_Emp_name,

constraint CK_Emp_age;

--修改表的结构,一次性给Emp表加一堆约束

alter table Emp add

constraint PK_Emp_id primary key(id),

constraint FK_Emp_DepId foreign key(DepId) references Dep(id),

constraint UQ_Emp_name unique(name),

constraint CK_Emp_age check(age>=0 and age<=120);

--机器--汇编--面向过程的语言(C语言)-- 面对对象的语言(java、c++、php)--自然语言(给我添加一个员工)

C、--修改表的结构,给Emp表设置一个外键约束,并且是级联删除

alter table Emp add

constraint FK_Emp_DepId foreign key(DepId) references Dep(id) on delete cascade;

D、--以上都是在表创建完之后修改表的结构,下面需要在创建表的同时(也就是说这个表正在设计还没保存)增加约束

E、--创建一个员工表,同时增加以上的约束

create table Emp2

(

id int identity(1,1)  constraint PK_Emp2_id primary key ,

name nvarchar(100)  constraint UQ_Emp2_name unique not null,

age int constraint CK_Emp2_age check(age>=18 and age<=60) not null,

gender nchar(1) constraint CK_Emp2_gender check(gender='男' or gender='女') constraint DF_Emp2_gender default('女'),

DepId int constraint FK_Emp2_DepId foreign key references Dep(id)

);

更改 字段的数据类型

Alter Table TB_ITM_ITEM
alter column is_timing int NULL;

 新增字段:

alter table WeiboSmartCategorySetting add AccountLevelMaxFilter int null

更改字段长度

alter table TB_ITM_ITEM alter column input_pids nvarchar(200)

 

将某个int(bigint)型的字段变为自增字段

ALTER TABLE TB_ITM_PROMOTION DROP COLUMN Id //先把这个非自增的字段drop掉。

ALTER TABLE TB_ITM_PROMOTION ADD Id bigint IDENTITY (1,1) NOT NULL //再新增一个自增字段,

如果将一个字段直接改成自增,会出错。

SQL ALTER TABLE 语句

ALTER TABLE 语句

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

SQL ALTER TABLE 语法

如需在表中添加列,请使用下列语法:

ALTER TABLE table_name

ADD column_name datatype

要删除表中的列,请使用下列语法:

ALTER TABLE table_name

DROP COLUMN column_name

注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。

要改变表中列的数据类型,请使用下列语法:

ALTER TABLE table_name

ALTER COLUMN column_name datatype

原始的表 (用在例子中的):

Persons 表:

Id

LastName

FirstName

Address

City

1

Adams

John

Oxford Street

London

2

Bush

George

Fifth Avenue

New York

3

Carter

Thomas

Changan Street

Beijing

SQL ALTER TABLE 实例

现在,我们希望在表 "Persons" 中添加一个名为 "Birthday" 的新列。

我们使用下列 SQL 语句:

ALTER TABLE Persons

ADD Birthday date

请注意,新列 "Birthday" 的类型是 date,可以存放日期。数据类型规定列中可以存放的数据的类型。

新的 "Persons" 表类似这样:

Id

LastName

FirstName

Address

City

Birthday

1

Adams

John

Oxford Street

London

2

Bush

George

Fifth Avenue

New York

3

Carter

Thomas

Changan Street

Beijing

改变数据类型实例

现在我们希望改变 "Persons" 表中 "Birthday" 列的数据类型。

我们使用下列 SQL 语句:

ALTER TABLE Persons

ALTER COLUMN Birthday year

请注意,"Birthday" 列的数据类型是 year,可以存放 2 位或 4 位格式的年份。

DROP COLUMN 实例

接下来,我们删除 "Person" 表中的 "Birthday" 列:

ALTER TABLE Person

DROP COLUMN Birthday

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值