用MySQL创建数据库和数据库表完整Word文档格式.docx
《用MySQL创建数据库和数据库表完整Word文档格式.docx》由会员分享,可在线阅读,更多相关《用MySQL创建数据库和数据库表完整Word文档格式.docx(77页珍藏版)》请在冰豆网上搜索。
解释:
以"
idintunsignednotnullauto_incrementprimarykey"
行进行介绍:
"
id"
为列的名称;
int"
指定该列的类型为int(取值范围为-8388608到8388607),在后面我们又用"
unsigned"
加以修饰,表示该类型为无符号型,此时该列的取值范围为0到16777215;
notnull"
说明该列的值不能为空,必须要填,如果不指定该属性,默认可为空;
auto_increment"
需在整数列中使用,其作用是在插入数据时若该列为NULL,MySQL将自动产生一个比现存值更大的唯一标识符值。
在每张表中仅能有一个这样的值且所在列必须为索引列。
primarykey"
表示该列是表的主键,本列的值必须唯一,MySQL将自动索引该列。
下面的char(8)表示存储的字符长度为8,tinyint的取值范围为-127到128,default属性指定当该列值为空时的默认值。
创建一个表后,用showtables显示数据库中有哪些表:
showtables;
5、显示表结构:
describestudents;
6、在表中添加记录:
首先用select命令来查看表中的数据:
select*fromstudents;
(说明刚才创建的数据库表中还没有任何记录)
接着加入一条新纪录:
insertintostudentsvalue(‘01’,’Tom’,’F’,’18’);
再用select命令来查看表中的数据的变化:
7、用文本方式将数据装入一个数据库表:
创建一个文本文件“student.sql”,每行包括一个记录,用TAB键把值分开,并且以在createtable语句中列出的次序,例如:
02TonyF18
03AmyM18
04LisaM18
将文本文件“student.sql”装载到students表中:
loaddatalocalinfile”e:
\\student.sql”intotablestudents;
再使用select命令来查看表中的数据的变化:
《数据库原理》实验报告
题目:
实验一
数据库和表的创建与管理
学号
姓名
班级
日期
2021.10.15
1.实验内容、步骤以及结果
1.利用图形用户界面创建,备份,删除和还原数据库和数据表
(1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;
日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
(2)在SPJ数据库中创建如图2.1-图2.4的四张表
(3)备份数据库SPJ(第一种方法):
备份成一个扩展名为bak的文件。
(提示:
最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)
(4)备份数据库SPJ(第二种方法):
将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。
(5)删除已经创建的工程项目表(J表)。
(6)删除SPJ数据库。
(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)
(7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。
(还原数据库)
(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。
(附加)
(9)将SPJ数据库的文件大小修改为100MB。
(10)修改S表,增加一个联系的字段sPhoneNo,数据类型为字符串类型。
2.利用SQL语言创建和删除数据库和数据表
(1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;
数据库的逻辑文件名和物理文件名,日志文件名请自定义。
(2)用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。
不用输入数据。
(3)用SQL中的backup语句将数据库Student备份到一个bak文件。
backupdatabasestudenttodisk)
--备份:
BACKUPDATABASE"
student"
TODISK='
C:
\lzcDB1\mybak1015.bak'
(4)用SQL语句删除创建的表。
droptableS
droptableC
droptableSC
(5)将Student数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份(复制)后,用SQL语句删除创建的数据库。
(6)用SQL中的sp_attache_db语句完成对数据库Student的附加。
(通过该方式完成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文件等,具体用法:
execsp_attache_db)
--将student中的两个文件附加到当前服务器。
EXECsp_attach_db@dbname=N'
student'
@filename1=N'
\lzcDB1\student.mdf'
@filename2=N'
\lzcDB1\student_log.ldf'
(7)先删除Student库,再用SQL中的restore语句还原刚才备份的数据库Student。
(提示:
restoredatabasestudentfromdisk)
(8)用SQL语言修改数据库Student,给Student数据库添加一个文件组TestFG1,然后将两个5MB的文件添加到该文件组。
alterdatabase)
(9)修改S表,增加一个表示联系的字段sPhoneNo,数据类型为字符串类型。
ALTERTABLES
ADDsPhoneNochar(10)
(10)利用SQLServerManagementStudio的生成脚本功能(选中Student库->
右键菜单“任务”->
“生成脚本”),自动生成S表的创建脚本,分析自动生成的脚本和自己写的SQL语句的异同点。
生成代码:
USE[student]
GO
/******Object:
Table[dbo].[SC]ScriptDate:
10/15/202117:
17:
34******/
SETANSI_NULLSON
SETQUOTED_IDENTIFIERON
SETANSI_PADDINGON
CREATETABLE[dbo].[SC](
[sno][char](10)NOTNULL,
[cno][char](10)NOTNULL,
[cgrade][smallint]NULL,
PRIMARYKEYCLUSTERED
(
[sno]ASC,
[cno]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
SETANSI_PADDINGOFF
Table[dbo].[S]ScriptDate:
CREATETABLE[dbo].[S](
[sname][nvarchar](20)NULL,
[ssex][nchar]
(2)NULL,
[sbirth][date]NULL,
[sdept][nvarchar](20)NULL,
[sPhoneNo][char](10)NULL,
[sno]ASC
Table[dbo].[C]ScriptDate:
33******/
CREATETABLE[dbo].[C](
[cname][nvarchar](20)NULL,
[cpno][char](10)NULL,
[ccredit][int]NULL,
相同点:
语法基本上是相同的,属性的命名和功能也是一样的。
不同点:
生成的代码中包含一些对字体的设置和一些环境的设置,自己写的语句里没有。
生成的代码有日期等信息。
自己写的语句是分开执行的,生成的脚本是按GO语句分段执行的。
生成的脚本很多名称都用方括号括起来了。
2.实验中出现的问题以及解决方案(对于未解