一、已有数据库,其名称为userdb

1.在userdb数据库中按照要求创建以下数据表:

 创建数据库userdb
CREATE DATABASE userdb
ON PRIMARY
(NAME=userdb_data,              FILENAME='D:\software\userdb.mdf',SIZE=10MB,MAXSIZE=UNLIMITED,           FILEGROWTH=10%
)LOG ON (NAME=userdb_log,FILENAME='D:\software\userdb.ldf',SIZE=1MB,MAXSIZE=5MB,FILEGROWTH=1MB)


创建部门表Departmentscreate table Departments(DepartmentsID int identity(1,1) not null PRIMARY KEY,DepartmentsName varchar(50) not null CONSTRAINT UN_sname UNIQUE,Note varchar(100) )

创建雇员表EmployeesUSE userdbCREATE TABLE Employees(EmployeeID int identity(1,1) PRIMARY KEY,DepartmentID int FOREIGN KEY(DepartmentID) REFERENCES Departments,Name varchar(20) NOT NULL,Age int NOT NULL,Sex char(2) NOT NULL,Edate datetime)

创建员工薪水表Salary
USE userdb
CREATE TABLE Salary
(
EmployeeID int NOT NULL PRIMARY KEY,
Income Money,
Outcome Money
)


2.为上面的数据表添加以下约束:
(1)Departments,Employees,Salary表添加三个主键约束,约束名分别为PK_DepartmentsID,PK_EmployeesID,PK_Salary_ID

alter table Departments
ADD constraint PK_DepartmentsID PRIMARY KEY(DepartmentsID)
alter table Employees
ADD constraint PK_EmployeeID PRIMARY KEY(EmployeeID)
alter table Salary
add constraint PK_Salary_ID primary key(EmployeeID)


(2)为Employees表的DepartmentID字段添加外键约束,依赖于Departments表的DepartmentsID

alter table Employees
ADD constraint FK_DepartmentID foreign key(DepartmentID) REFERENCES Departments(DepartmentsID)


(3)为Employees表的Age字段添加CHECK约束,检查Age大于0

alter table Employees
add check(Age>0)


(4)为Employees表的Sex字段添加默认约束,默认Sex为男

alter table Employees add constraint
constraintSex DEFAULT '男' for Sex;


(5)为Employees表的Edate字段添加默认约束,默认为当天日期

alter table Employees add constraint
constraintWdate DEFAULT getdate()for Edate;


3.修改表Employees中列Name的数据类型为varchar(30)

alter table Employees
alter column Name varchar(30)


4.修改表Employees,在表中增加新列zip,类型为char(6)

alter table Employees
add zip char(6)



5.从表Employees中删除列zip

alter table Employees
drop column zip


6.向表中插入如下记录

INSERT INTO Departments( DepartmentsName) VALUES('销售部')
INSERT INTO Departments( DepartmentsName) VALUES('采购部')
INSERT INTO Departments( DepartmentsName) VALUES('生产部')


INSERT INTO Employees(DepartmentID,Name,Age,Sex,Edate)VALUES('1','王林','35','男','2000-11-10 0:00:00' )
INSERT INTO Employees(DepartmentID,Name,Age,Sex,Edate)VALUES('1','李红','46','女','1992-10-11 0:00:00')
INSERT INTO Employees(DepartmentID,Name,Age,Sex,Edate)VALUES('1','李强','48','男','2005-3-10 0:00:00')
INSERT INTO Employees(DepartmentID,Name,Age,Sex,Edate)VALUES('2','张扬','23','女','2010-5-10 0:00:00')
INSERT INTO Employees(DepartmentID,Name,Age,Sex,Edate)VALUES('2','赵明','50','男','2003-6-10 0:00:00' )

INSERT INTO Salary VALUES('1','3500.0000','800.0000')
INSERT INTO Salary VALUES('2','4000.0000','1200.0000')
INSERT INTO Salary VALUES('3','7000.0000','2500.0000')
INSERT INTO Salary VALUES('4','1300.0000','1200.0000')
INSERT INTO Salary VALUES('5','5500.0000','2500.0000')



7.修改Salary表中的列Income(工资)的数据,为EmployeeID等于的雇员增加元工资

update Salary
set Income=Income+500 where EmployeeID=1
select * from Salary


8.删除雇员表中工号为的人员记录

delete from Employees where EmployeeID=5
select * from Employees


9.修改表Employees中姓名为王林的雇员信息,部门编号修改为,年龄修改为,雇佣日期修改为“2002-11-10”

update Employees
set DepartmentID=2,Age=37,Edate='2002-11-10'where Name='王林'

二、表的管理测试题

使用T-SQL语句完成下列对应功能:
1.创建一个数据库。数据库名称为worker,主数据文件的逻辑名称为worker_ data,操作系统文件的名称为D:\software\worker_mdf, 大小为MB,最大为MB,以%的速度增长。数据库的日志文件逻辑名称为student_log,操作系统文件的名称为D:\software\worker_ ldf,大小为MB,最大为MB,以MB的速度增长。

create database worker
on primary
(NAME=worker_data,
FILENAME='D:\software\worker.mdf',
SIZE=20MB,
MAXSIZE=50MB,
FILEGROWTH=25%
)
LOG ON
(
NAME=student_log,
FILENAME='D:\software\worker.ldf',
SIZE=3MB,
MAXSIZE=10MB,
FILEGROWTH=1MB
)


2.在worker数据库中创建一个名为employees的数据表

use worker
create table employees
(
number int not null primary key,
name varchar(10) not null,
sex char(3),
birthday datetime not null,
hometown varchar(30),
telephone varchar(15),
address varchar(30)
)


3.向employees的数据表添加两个记录,各个字段的值顺序是:

INSERT INTO employees VALUES('201','李小明','男',1980-07-12,'广东','22218371','五一路')
INSERT INTO employees VALUES('202','张娟','女',1983- 12-19,'北京','47372812','芙蓉路')


4.向employees表中插人number为,name为张军,birthday为-08-08的一条记录。

INSERT INTO employees(number,name,birthday)VALUES(203,'张军',1980-08-08)


5.在employees的数据表中,将name为“李小明”的birthday修改成“-02-09”

update employees
set birthday='1982-02-09' where name='李小明'


6.将hometown为“北京”的telephone值在前面加上“-”,如“-47372812”

update employees
set telephone='010-'+telephone where hometown='北京'


7.将number为和的记录,birthday都改为-09-09,address改为太白路

update employees
set birthday='1990-09-09',address='太白路' where number=201 or number=202


8.将name为“李小明”的数据从employees的数据表中删除

delete from employees where name='李小明'


9.清空employees 表中的所有数据

delete from employees


总结

今天总结的课后习题是否对友友们有帮助呢?

SQL Server 创建和管理数据表相关推荐

  1. 使用SQL语句创建并管理数据表

    数据库创建以后,我们需要创建数据表存储数据,表是一种重要的数据库对象.简单的叙述一下表的概念. 表的概念: 数据表是数据库中一个重要的对象,也是其他对象的基础.一个数据库中可以包含多张表,表是数据的集 ...

  2. SQL Sever 创建与管理数据表

    目录 一.创建数据表 1.使用SQL Sever Management Studio创建数据表 2.使用CREATE TABLE语句创建数据库 二.管理数据表 1.查看表结构 1.1查看数据表的属性 ...

  3. SQL语法创建及管理数据表结构

    熟悉数据表的特点: 熟悉在Management Studio中创建.编辑及删除数据表: 熟悉使用T-SQL创建.编辑及删除数据表: 创建表 依据数据表的结构创建相对应的数据表,表结构如下所示: stu ...

  4. 实验二 通过SQL语句创建与管理数据表

    实验目的 (1)掌握查询分析器的使用. (2)掌握通过SQL语句创建表的方法. (3)掌握通过SQL语句修改表结构的方法. (4)掌握通过SQL语句添加.修改.删除表数据的方法. 实验内容 1.通过S ...

  5. 实验二:通过SQL语句创建与管理数据表

    文章目录 实验目的 一.通过SQL语句删除表 二.通过SQL语句创建表 三.通过SQL语句管理表结构 1.添加和删除列 2.添加和删除约束 四.通过SQL语句添加.修改.删除表中数据 1. 插入数据 ...

  6. 数据库系统概论 实验报告答案 实验三:创建及管理数据表

    实验三:创建及管理数据表 一.实验目的 熟悉数据表的特点: 熟悉在Management Stuio中创建.编辑及删除数据表: 熟悉使用T-SQL创建.编辑及删除数据表: 二.实验学时 2学时 三.实验 ...

  7. 数据库系统概论 实验报告答案 实验二:创建及管理数据表

    实验二:创建及管理数据表 一.实验目的 掌握数据库模式的创建方法: 掌握数据表的特点: 掌握在Management Stuio中创建.编辑及删除数据表: 掌握使用T-SQL创建.编辑及删除数据表: 二 ...

  8. SQL Server创建数据库和数据的增删改查

    SQL Server创建数据库和数据的增删改查 本文是针对数据的增删改查,数据的创建 首先我们使用命令创建sql server数据库 D盘新建一个文件夹DB use master go --创建数据库 ...

  9. 在MySQL中如何用SQL命令创建数据库及数据表

    HRELLO 大家好! 上期给大家讲解了,MySQL数据库常用的管理命令.现在,给大家讲解,如何用SQL命令在MySQL中创建一个数据库及数据表. 在学习前,我们首先要了解,SQL命令是什么? SQL ...

最新文章

  1. 微信小程序界面跳转方法
  2. 有一个5 * 5的二维数组,保留主对角线上的元素,并使其他元素均为0,要求用函数和子函数完成
  3. 开源人工智能算法一种新颖的超像素采样网络深层特征来估计任务特定的超像素
  4. python零基础怎么学-零基础如何学习Python?老男孩Python入门培训
  5. 在LoadRunner脚本中处理HTTP重定向
  6. 如何在零停机的情况下迁移 Kubernetes 集群
  7. kubernetest master 节点恢复灾备恢复操作指南
  8. mysql 调用未定义函数_php – Wierd和Annoying错误:调用未定义的函数mysql_query()[复制]...
  9. canvas绘制线条1像素的问题
  10. 从使用 KVO 监听 readonly 属性说起
  11. 读梁宁《一次失控引发的信任评估---我看胡紫薇事件》
  12. 村长叫你领书过年,送3本Python好书
  13. 反射 java 例子 get_Java反射实例
  14. python 返回函数
  15. matlab函数小结----数组区
  16. mysql编码utf8改为g_修改MySQL的编码为UTF8
  17. 开发时解决数据回显的小方法
  18. hspice 2019 安装流程
  19. pdf怎么插入页码步骤介绍
  20. FPGA之道(51)数据的存储

热门文章

  1. 赛格威机器人待遇_赛格威配送机器人:年内做到10天无故障 3年10万台
  2. BabaSSL:支持半同态加密算法 EC-ElGamal
  3. 【支线】输电杆塔识别-YOLO v5在Aidlux的部署
  4. 【Mac小技巧】如何改变顶部状态栏的颜色
  5. 收件人、寄件人如何根据快递单号查询物流进度
  6. mysql 内存 优化_MySQL核心参数优化(内存优化)
  7. matlab状态空间模型构建函数ss
  8. 北大青鸟资源管理系统
  9. MarkdownPad的livepreview预览无效,显示this view has crashed
  10. 易语言网易云音乐登录post源码