SQL Server 代码语法

SQL Server 代码语法

代码语法

1.创建数据库


create database "xxxx";

2.使用指定的数据库


use "xxxx";

3.删除一个指定的数据库(删除数据库会将数据库中的表,和表中的数据,全部清除,不可撤回)


drop database "xxxx";

4.创建表


/*
create table employees
(
	字段名 数据类型 约束,
	字段名 数据类型 约束,
	字段名 数据类型 约束,
	字段名 数据类型 约束
)
*/

--创建一张雇负表
create table employees
(
emp_id int identity(100,1),   --在建表时为字段添加自增属性(identity)
emp_id_card varchar(18),
emp_name nvarchar(50),
emp_gender bit,
emp_join_date datetime,
emp_age tinyint,
emp_address nvarchar(300),
emp_phone char(11),
emp_depld int,
emp_email varchar(100)
)

5.添加


insert into employees values(
	'21321322','张三',1,
	'2013-01-18',20,'重庆市渝北区','1946843685',
	1223456,'10546348342@qq.com'
);

6.查询( * 表示查询所有数据)


select * from employees ;

在这里插入图片描述

7.复制表(只复制结构)


select * into employees2 from employees where 1=0;

7.复制表(复制结构和数据)


select * into employees2 from employees;

8.添加新字段到指定表中(新增字段后,原有数据为null)


alter table employees add education nvarchar(50);

在这里插入图片描述

9.修改字段的数据类型(前提是字段数据类型为空或者数据和被修改的类型可匹配)


alter table employees alter column education tinyint;

--为字段添加内容

update employees set education =100 where emp_id=100;

10.删除一个字段


alter table employees drop column education;

11.修改表名

--exec 同 execute
exec sp_rename 'employees','employee';

execute sp_rename 'emplyees','employee';

12.建表后添加自增(只能先将字段删除后添加)


alter table employee drop column emp_id;

alter table employee add emp_id int identity( 1001,1);

13.找到emp_id并删除那一行的数据


delete from employee where emp_id=1001;

重新添加数据


insert into employee values(
	'21321322','张三',1,
	'2013-01-18',20,'重庆市渝北区','1946843685',
	1223456,'10546348342@qq.com'
);

14.创建索引


create index idx_name on employee(emp_name);

15.对索引的管理


exec sp_helpindex employee;                            --查看指定表中所有的索引

exec sp_rename 'employee.idx_name','idx_newname';     --为索引改名

drop index employee.idx_newname;                       --删除索引

update statistics employee;                            --更新指定表中所有的索引信息

16.约束的种类


/*
	约束的种类:
	主键约束:唯一约束,检查约束,非空约束
	唯一约束:值不能重复
	检查约束:限定值范围
	默认值约束:提供默认值
	非空约束:不能为空
	外键约束:引用关系
	建表后对约束的所有操作,必须建立在表中无数据的基础上
*/

--先建表
create table employees
(
emp_id int identity(1001,1),   
emp_id_card varchar(18),
emp_name nvarchar(50),
emp_gender bit,
emp_join_date datetime,
emp_age tinyint,
emp_address nvarchar(300),
emp_phone char(11),
emp_depld int,
emp_email varchar(100)
)

--1.建表后添加主键约束
--alter table表名     add constraint  约束名   primary key(字段名);
alter table employees add constraint PK_EMPID primary key(emp_id);

--删除主键约束:
alter table employees drop constraint PK_EMPID;

--2.建表后创建唯一约束
alter table employees add constraint UN_NAME unique(emp_name);

--删除唯一约束:
alter table employees drop constraint UN_NAME;

--3.建表后创建检查约束
alter table employees add constraint CK_AGE check(emp_age>=18 and emp_age<=25);

--删除检查约束:
alter table employees drop constraint CK_AGE;

--4.建表后创建默认值约束
alter table employees add default(0) for emp_gender with values;

--删除默认值约束(后面那串约束在左边对应属性查看并修改成对应的约束):
alter table employees drop constraint DF__employees__emp_g__060DEAE8;

--5.建表后创建非空约束
alter table employees add constraint NT_PHONE check(emp_phone is not null);

--删除非空约束:
alter table employees drop constraint NT_PHONE;

--请先删除表employees(drop)
--建表时添加约束(和建表后添加一样)
create table employees(
	emp_id int identity(1001,1) primary key,
	emp_id_card varchar(18),
	emp_name nvarchar(50) unique,
	emp_gender bit default 0,
	emp_join_date datetime,
	emp_age tinyint check(emp_age>=18 and emp_age<=25),
	emp_address nvarchar(300),
	emp_phone char(11) not null,
	emp_depId int,
	emp_email varchar(100)
)

17.建表时语法


--外键约束:存在于至少两张表之上

--建表时添加外键

create table class
(
	C_id tinyint identity(101,1) primary key,
	c_name nvarchar(50) unique
)

insert into class values('三班'); 

select * from class;

create table student(
	s_id int identity(1001,1) primary key,
	s_name nvarchar(100) not null,
	s_age tinyint check(s_age>=18 and s_age<=25),
	s_sex nchar(4) check(s_sex='男' or s_sex='女'),
	s_phone char(11) not null,
	c_id tinyint foreign key references class(c_id)     --外键
)

insert into student values('张三',20,'男','12345678998' ,101);

select * from student;

--建表后添加外键

alter table student add constraint FK_CID foreign key(c_id) references class(c_id);

--外键操作:将一张表的主键作为另-张表的外键
--字段名称可以不同,但是数据类型必须相同

--新增外键功能:级联删除和级联更新

alter table student add constraint FK_CID foreign key(c_id) references class(c_id)
on delete cascade on update cascade;

/*
	如果学生表关联了班级表,如果表中没有数据,此时班级表可删除
	学生表可删除
	如果学生表关联了班级表,如果表中有数据,此时班级表不可删除,
	学生表可刪除
	如果学生表关联了班级表,如果班级表中某一条数据被学生表关联了,
	此时,该数据不可删除,反之可刪删除
*/

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值