一.SQL脚本代码
-- 实验二
-- 创建Libary Database 并指定数据文件和日志文件,以及初始大小、递增大小、最大空间
USE master GO
CREATE DATABASE Libary ON
( NAME = Libary_dat,
FILENAME = 'D:\\program files\\microsoft sql server\\mssql\\data\\Libarydat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON
( NAME = 'Libary_log',
FILENAME = 'D:\\program files\\microsoft sql server\\mssql\\data\\Libarylog.ldf', SIZE = 5MB,
MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO
-- 创建READERS表,并向其中用INSERT命令插入数据 CREATE TABLE READERS (RNo CHAR(10) NOT NULL, RName CHAR(8), RType INT, RBorrowed INT )
INSERT
INTO READERS
VALUES ('2002060328','王立群',1,18)
INSERT
INTO READERS
VALUES ('2004060001','王晓奇',3,2)
INSERT
INTO READERS
VALUES ('2004060002','张刚',3,5)
INSERT
INTO READERS
VALUES ('2004060003','李亚茜',3,3)
INSERT
INTO READERS
VALUES ('204160426','刘超',2,10)
-- 插入两个新的数据 INSERT
INTO READERS
VALUES('2015110721','雷云森',1,0);
INSERT
INTO READERS
VALUES ('2015110722','张三',3,0);
-- 创建表BOOKS并使用INSERT命令向该表插入数据 CREATE TABLE BOOKS (BNo CHAR(15) NOT NULL, BName CHAR(42)NOT NULL, BAuthor CHAR(8), BPress CHAR(28), BDate datetime, BPrice float )
INSERT
INTO BOOKS
VALUES ('F12.245','计算机文化基础','刘凌志','青山','2012-12-1 00:00:00',21.8)
INSERT
INTO BOOKS
VALUES ('F23.55','数据结构(C语言)','马志刚','青山','2003-3-25 00:00:00',24.5)
INSERT
INTO BOOKS
VALUES ('F33.33','数据结构实用教程','王晓云','蓝天','2000-8-12 00:00:00',22)
INSERT
INTO BOOKS
VALUES ('G11.11','C语言程序设计','张大海','碧水','2002-3-4 00:00:00',26.3)
INSERT
INTO BOOKS
VALUES ('G11.22','java程序设计实用','张大海','碧水','2002-3-4 00:00:00',24.8)
INSERT
INTO BOOKS
VALUES ('G12.08','C语言程序设计','梁晓峰','青山','2000-8-12 00:00:00',22)
INSERT
INTO BOOKS
VALUES ('G12.09','C语言程序设计','梁晓峰','青山','2003-4-8 00:00:00',22)
INSERT
INTO BOOKS
VALUES ('G12.010','C语言程序设计','梁晓峰','青山','2006-5-6 00:00:00',22)
INSERT
INTO BOOKS
VALUES ('G22.12','Visual Basic','梁晓峰','碧水','2001-1-23 00:00:00',28)
-- 用DELETE命令删除表中书名为数据结构的纪录 DELETE
FROM BOOKS
WHERE BName='数据结构'
-- 创建表BORROWINF 并向其中插入数据 CREATE TABLE BORROWINF (RNo CHAR(10) NOT NULL, BNo CHAR(15) NOT NULL,
BorrowedTime datetime NOT NULL, ReturnTime datetime )
INSERT
INTO BORROWINF
VALUES ('2002060328','F23.55','2004-5-26 00:00:00','2004-12-22 00:00:00')
INSERT
INTO BORROWINF
VALUES ('2002060328','G11.22','2004-9-1 00:00:00',NULL)
INSERT
INTO BORROWINF
VALUES ('2002060328','G12.08','2004-8-26 00:00:00',NULL)
INSERT
INTO BORROWINF
VALUES ('2004060002','F12.245','2004-6-29 00:00:00',NULL)
INSERT
INTO BORROWINF
VALUES ('2004160426','G11.11','2004-10-21 00:00:00',NULL)
INSERT
INTO BORROWINF
VALUES ('2004160426','G12.10','2004-9-18 00:00:00',NULL)
-- 创建表READTYPE 并向其中插入数据 CREATE TABLE READTYPE (TNo INT NOT NULL,
TName CHAR(8) NOT NULL, LimitNum INT NOT NULL, BorrowDueTime INT )
USE Library; INSERT
INTO READTYPE
values (1,'老师',10,20);
INSERT
INTO READTYPE
values (2,'学生',7,15);
INSERT
INTO READTYPE values (3,'职工',5,10)
二.遇到的问题及解决办法
问题1
由于实验二的部分内容是在课下完成,并没有使用SQL Server 而是 My SQL,发现 My SQL 并不能用代码中的方式来创建数据文件和日志文件,并指定初始大小,递增大小和指定空间。在my sql 中通过以下代码开启general log。如果要设置初始大小,递增大小和指定空间还需要在server logs 中配置
show global variables like '%general%'; set gloabl general_log = on;
show global variables like '%log_output%'; set global log_output = 'TABLE'; use mysql;
show create table general_log; set global general_log = off;
alter table general_log engine = myisam; set global general_log = on;
执行完成以上代码后,便可以在general log 表中看到每一个被记录的查询操作
开启general log 后: 输入以下命令: use mysql; select *
from general_log
得到日志表格如下:
问题 2
在创建好后,通过insert语句向表中插入数据时,在SQL Server 2000里 insert 语句之间可以不加分号,但在my sql中需要在每一个完整的insert命令后面加分号,才能成功执行。
问题3
有的表格中的列定义为char型的变量,在使用默认的编码的时候,my sql 中并不支持中文输入,例如在readtype 表中的读者类型,要使用以下的命令改变该列的默认编码,使其支持中文:
-- 改变表中某一列的默认编码使之支持中文输入 ALTER TABLE `Library`.`READTYPE`
CHANGE COLUMN `TName` `TName` CHAR(8) CHARACTER SET 'gb2312' NOT NULL ;
三.运行结果截图:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务