有点拼凑的意思,主要是熟悉SQL 的一些基本操作:
/* 删除学生数据库 */
drop database Students
/* 创建学生数据库 */
create database Students
on
primary
(
name = 'Students',
Filename = 'E:\SQL\Students.mdf',
size = 100MB,
maxsize = unlimited,
filegrowth = 10%
)
log on
(
name = 'Students_log',
Filename = 'E:\SQL\Students_log.ldf',
size = 20MB,
maxsize = unlimited,
filegrowth = 10MB
)
/* 给数据库再增加一个日志文件 */
alter database Students
add log file
(
name = 'Students_log2',
Filename = 'E:\SQL\Students_log2.ldf',
size = 20MB,
maxsize = 50MB,
filegrowth = 10%
)
/* 创建学生表 */
use Students
create table XS
(
学号 char(6) NOT NULL,
姓名 char(8) NOT NULL,
专业名 char(10) NULL,
性别 bit NOT NULL,
出生时间 smalldatetime NOT NULL,
总学分 tinyint NULL,
备注 text NULL
)
GO
给学号列加一个主键限制
use Students
alter table XS
add constraint PK_TableName primary key(学号)
其实你也可以在开始创建的时候 定义主键列
use Students
create table XS
(
学号 char(6) NOT NULL primary key,
姓名 char(8) NOT NULL,
专业名 char(10) NULL,
性别 bit NOT NULL,
出生时间 smalldatetime NOT NULL,
总学分 tinyint NULL,
备注 text NULL
)
GO
如果要给将主键定义为多个组合列构成
USE Students
ALTER TABLE XS_KC
ADD CONSTRAINT PK_AA PRIMARY KEY(学号, 课程号)
要删除这个表
drop table XS
GO
向table插入数据
use Students
insert into XS values('001101', '王林', '计算机', 1, '2/10/1980', 40, NULL)
insert into XS values('001102', '王平', '计算机', 0, '9/02/1980', 38, NULL)
insert into XS values('001103', '王燕', '计算机', 0, '10/06/1979', 40, NULL)
insert into XS values('001104', '韦严平', '计算机', 1, '8/26/1980', 40, NULL)
insert into XS values('001105', '吴庆红', '计算机', 1, '12/30/1979', 36, NULL)
insert into XS values('001106', '李方方', '计算机', 1, '11/20/1980', 40, NULL)
insert into XS values('001107', '李明', '计算机', 1, '5/1/1980', 40, NULL)
insert into XS values('001108', '林一凡', '计算机', 1, '6/5/1980', 42, NULL)
insert into XS values('001109', '张强民', '计算机', 1, '8/21/1978', 40, NULL)
insert into XS values('001110', '张蔚', '计算机', 1, '7/22/1981', 40, NULL)
insert into XS values('001111', '赵琳', '计算机', 0, '3/18/1980', 40, NULL)
insert into XS values('001112', '罗琳琳', '计算机', 0, '1/30/1980', 40, NULL)
GO
SQL里面插入数据都是这样一条一条插入,好像除非数据有规律否则都是这样插入的。
插入完后,发现数据库里面是这样的
汉字都变成了问号。
解决办法可以参考我的另外那个SQL 汉字变问号的文章,修正过来。
XS 表如下:
学号 姓名 专业名 性别 出生时间 总学分 备注
001101 王林 计算机 1 1980-02-10 00:00:00 40 NULL
001102 王平 计算机 0 1980-09-02 00:00:00 38 NULL
001103 王燕 计算机 0 1979-10-06 00:00:00 40 NULL
001104 韦严平 计算机 1 1980-08-26 00:00:00 40 NULL
001105 吴庆红 计算机 1 1979-12-30 00:00:00 36 NULL
001106 李方方 计算机 1 1980-11-20 00:00:00 40 NULL
001107 李明 计算机 1 1980-05-01 00:00:00 40 NULL
001108 林一凡 计算机 1 1980-06-05 00:00:00 42 NULL
001109 张强民 计算机 1 1978-08-21 00:00:00 40 NULL
001110 张蔚 计算机 1 1981-07-22 00:00:00 40 NULL
001111 赵琳 计算机 0 1980-03-18 00:00:00 40 NULL
001112 罗琳琳 计算机 0 1980-01-30 00:00:00 40 NULL
删除表的数据, 参考DELETE TABLE 和 TRUNCATE TABLE
更新表的记录
use Students
update XS
set 专业名 = '通信工程',
备注 = '转专业学习',
学号 = '001241'
where 姓名 = '罗琳琳'
给每个学生总学分加10分
use Students
update XS
set 总学分 = 总学分 + 10
小实验
写出T-SQL语句,对产品销售数据库(库名为CPXS)产品表进行如下操作
1。 插入如下记录
0001 空调 3000 200
0203 冰箱 2500 100
0301 彩电 2800 50
2。 将产品数据库的产品表中每种商品的价格打8折
3。 将产品数据库的产品表价格打8折后小于50的商品删除
先创建那个数据库
create database CPXS
on
primary
(
name = 'CPXS',
filename = 'E:\SQL\CPXS.mdf',
size = 10MB,
maxsize = 100MB,
filegrowth = 10%
)
log on
(
name = 'CPXS_Log',
filename = 'E:\SQL\CPXS_log.ldf',
size = 2MB,
maxsize = unlimited,
filegrowth = 1MB
)
创建产品表
use CPXS
create table CP
(
产品编号 char(4),
产品名称 nvarchar(4),
价格 smallint,
库存量 smallint
)
go
(1)
use CPXS
insert into XS values('0001','空调','3000','200')
insert into XS values('0203','冰箱','2500','100')
insert into XS values('0301','彩电','2800','50')
GO
(2)
use CPXS
update CP
set 价格 = 价格*80%
(3)
use CPXS
delete from CP where 价格*0.8 < 50
Go