1、用MySQL创建数据库和数据库表完整用MySQL创建数据库和数据表:步骤:1、使用show语句找出在服务器上当前存在什么数据库:mysqlshow databases;2、创建一个数据库test:mysqlcreate database test;3、选择你所创建的数据库:mysqluse test;4创建一个数据表:首先查看刚才创建的数据库中存在什么表:mysqlshow tables;(说明刚才创建的数据库中还没有数据库表)接着我们创建一个关于students的数据表:包括学生的学号(id),姓名(name),性别(sex),年龄(age)。mysqlcreate table studen
2、ts(id int unsigned not null auto_increment primary key,name char(8) not null,sex char(4) not null,age tinyint unsigned not null,);解释:以 id int unsigned not null auto_increment primary key 行进行介绍:id 为列的名称;int 指定该列的类型为 int(取值范围为 -8388608到8388607), 在后面我们又用 unsigned 加以修饰, 表示该类型为无符号型, 此时该列的取值范围为 0到16777215
3、;not null 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空;auto_increment 需在整数列中使用, 其作用是在插入数据时若该列为 NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。primary key 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。下面的 char(8) 表示存储的字符长度为8, tinyint的取值范围为 -127到128, default 属性指定当该列值为空时的默认值。创建一个表后,用show tables显示数据库中有哪些表:mysqlshow
4、tables;5、显示表结构:mysqldescribe students;6、在表中添加记录:首先用select命令来查看表中的数据:mysqlselect*from students;(说明刚才创建的数据库表中还没有任何记录)接着加入一条新纪录:mysqlinsert into students value(01,Tom,F,18);再用select命令来查看表中的数据的变化:mysqlselect*from students;7、用文本方式将数据装入一个数据库表:创建一个文本文件“student.sql”,每行包括一个记录,用TAB键把值分开,并且以在createtable语句中列出的次
5、序,例如:02TonyF1803AmyM1804LisaM18将文本文件“student.sql”装载到students表中:mysqlload data local infile”e:student.sql”into table students;再使用select命令来查看表中的数据的变化:mysqlselect*from students;数据库原理实验报告题目:实验一 数据库和表的创建与管理学号姓名班级日期2021.10.151.实验内容、步骤以及结果1.利用图形用户界面创建,备份,删除和还原数据库和数据表(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增
6、长方式是按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、文件是否存在)(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兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名,日志文件名
8、请自定义。(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。不用输入数据。(3) 用SQL中的backup 语句将数据库Student备份到一个bak文件。(提示:backup database student to disk)-备份:BACKUP DATABASE studentTO DISK =C:lzcDB1mybak1015.bak(4) 用SQL语句删除创建的表。droptableSdroptableCdroptableSC(5) 将Student数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他
9、文件夹进行备份(复制)后,用SQL语句删除创建的数据库。(6) 用SQL中的sp_attache_db语句完成对数据库Student的附加。(通过该方式完成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文件等 ,具体用法:exec sp_attache_db )-将 student 中的两个文件附加到当前服务器。EXEC sp_attach_db dbname = Nstudent, filename1 = NC:lzcDB1student.mdf, filename2 = NC:lzcDB1student_log.ldf(7) 先删除Student库,再用SQL中的res
10、tore 语句还原刚才备份的数据库Student。 (提示:restore database student from disk)(8) 用SQL语言修改数据库Student,给Student数据库添加一个文件组 TestFG1,然后将两个 5 MB 的文件添加到该文件组。(提示:alter database)(9) 修改S表,增加一个表示联系 的字段sPhoneNo,数据类型为字符串类型。ALTERTABLE SADD sPhoneNo char(10)(10) 利用SQL Server Management Studio的生成脚本功能(选中Student库-右键菜单“任务”- “生成脚本”
11、),自动生成S表的创建脚本,分析自动生成的脚本和自己写的SQL语句的异同点。生成代码:USEstudentGO/* Object: Table dbo.SC Script Date: 10/15/2021 17:17:34 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATETABLEdbo.SC(snochar(10)NOTNULL,cnochar(10)NOTNULL,cgradesmallintNULL,PRIMARYKEY CLUSTERED (snoASC,cnoASC)WITH(PAD_
12、INDEX =OFF, STATISTICS_NORECOMPUTE =OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS =ON)ONPRIMARY)ONPRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.S Script Date: 10/15/2021 17:17:34 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATETABLEdbo.S(snochar(10)N
13、OTNULL,snamenvarchar(20)NULL,ssexnchar(2)NULL,sbirthdateNULL,sdeptnvarchar(20)NULL,sPhoneNochar(10)NULL,PRIMARYKEY CLUSTERED (snoASC)WITH(PAD_INDEX =OFF, STATISTICS_NORECOMPUTE =OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS =ON)ONPRIMARY)ONPRIMARYGOSET ANSI_PADDING OFFGO/* Object:
14、Table dbo.C Script Date: 10/15/2021 17:17:33 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATETABLEdbo.C(cnochar(10)NOTNULL,cnamenvarchar(20)NULL,cpnochar(10)NULL,ccreditintNULL,PRIMARYKEY CLUSTERED (cnoASC)WITH(PAD_INDEX =OFF, STATISTICS_NORECOMPUTE =OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS =ON)ONPRIMARY)ONPRIMARYGOSET ANSI_PADDING OFFGO相同点:语法基本上是相同的,属性的命名和功能也是一样的。不同点:生成的代码中包含一些对字体的设置和一些环境的设置,自己写的语句里没有。生成的代码有日期等信息。自己写的语句是分开执行的,生成的脚本是按GO语句分段执行的。生成的脚本很多名称都用方括号括起来了。2.实验中出现的问题以及解决方案(对于未解
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1