用MySQL创建数据库和数据库表正式版

上传人:m**** 文档编号:65020487 上传时间:2022-03-22 格式:DOC 页数:21 大小:828KB
收藏 版权申诉 举报 下载
用MySQL创建数据库和数据库表正式版_第1页
第1页 / 共21页
用MySQL创建数据库和数据库表正式版_第2页
第2页 / 共21页
用MySQL创建数据库和数据库表正式版_第3页
第3页 / 共21页
资源描述:

《用MySQL创建数据库和数据库表正式版》由会员分享,可在线阅读,更多相关《用MySQL创建数据库和数据库表正式版(21页珍藏版)》请在装配图网上搜索。

1、用MySQL创建数据库和数据库表正式版用MySQL创建数据库和数据表:步骤:1、使用show语句找出在服务器上当前存在什么数据库:mysqlshow databases;hysq;l shoif databases ;l S _ _ io _ i abase!:info i*mat io n _s c he ma : my盘吐L! pe r-f o r-ma.n c e _s c he na !点敦kiL抚! sns! vro i*-ldi1+b rows in set CO.09 sec)2、创建一个数据库test:mysqlcreate database test;epeace ilatA

2、ba&e te&t:hwu尸y OK. 1 raw affected t0.00 書3、选择你所创建的数据库:mysqluse test;.yql u?c test 9 atabas e clianged4创建一个数据表:首先查看刚才创建的数据库中存在什么表:mysqlshow tables;ijisql show tables: ;n讹H set (说明刚才创建的数据库中还没有数据库表) 接着我们创建一个关于students的数据表:包括学生的学号(id),姓名(name),性别(sex),年龄(age)。mysqlcreate table students(id int unsigned

3、not null auto_increment primary key,name char(8) not null,sex char(4) not null,age tinyint un sig ned not n ull,);create table studen tsCid int unslgjined not null aut o _in c re men t primairy1 keLname char not nullagre tinyint unsigfiied not null)1:OK鼻 0 rows affected C0,3?解释:以 id int unsigned not

4、 null auto_increment primary key行进行介绍:id为列的名称;int指定该列的类型为int(取值范围为-8388608到8388607),在后面我们又用unsigned加以修饰,表示该类型为无符号型,此时该列的取值范围为 0到16777215;not null说明该列的值不能为空,必须要填,如果不指定该属性,默 认可为空;auto_increment需在整数列中使用,其作用是在插入数据时若该列为NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。primary key表示该列是表的主键,本列的值必须唯一

5、,MySQL将 自动索引该列。下面的char(8)表示存储的字符长度为8, tinyint的取值范围为-127 到128, default属性指定当该列值为空时的默认值。创建一个表后,用show tables显示数据库中有哪些表:mysqlshow tables;Fiywtll呂ho忡 tables ;klF! Tablcs_in_tcst !+I studentsHI11 row in set 5、显示表结构:mysqldescribe stude nts;mys(il describe stutdents :Q -4-+Flue Idi iT5Pe! Null-I1 im _Keyi _

6、Defaulti ExtraTTTyid11int unsigned! NO11FBIl1NULLi auto_increnertname11chap:NO11I lNULL11sex11cli 已 1*(4! NO111lNULL11agre11-+-t in ylnt C9 uns Igrned! NO-+111i-4NULL11勺 rou? in etsec6、在表中添加记录:首先用select命令来查看表中的数据:mysqlselect*from stude nts;ysql select*fron students; mpty set (说明刚才创建的数据库表中还没有任何记录)接着加

7、入一条新纪录:mysqlinsert into students value(01 Tom, 8;_ytql insert into students value; OJG 1 rw effected (6.0? sec再用select命令来查看表中的数据的变化:mysqlselect*from stude nts;selectfIora students;-h-十一-1r-1-7、用文本方式将数据装入一个数据库表:创建一个文本文件“ student.sq”,每行包括一个记录,用 TAB键把值分开,并且以在createtable语句中列出的次序,例如:02TonyF1803AmyM1804Li

8、saM18将文本文件“ student.sq”装载到students表中:mysqlload data local in file” estude nt.sql into table stude nts;yEql Load data local inf ileMe:XXstudentE_sql*,in-to table students : uery 0K 0 yous affected (0.00 sec)ecords: 3 Deleted: 0 Skipped: 3 Uarninsrs: 0再使用select命令来查看表中的数据的变化:mysqlselect*from stude nts;

9、my寻?eLcct * from students;idi l-hiIsexage-4-H-1i1TomiIFl1182I ITonyilF111831Anyiltl11184I1Lisa.iInl1185I1iII1R-1-4-pows in set =1), primary key( 书号 ,书店编号 ,销售日期 ), foreign key( 书号 ) references 图书表 (书号 ), foreign key( 书店编号 ) references 书店表 (书店编号 )1.1为图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等 于1000。答: ALTE

10、R TABLE 图书表ADD 印刷数量 int check ( 印刷数量 =1000) 1.2删除“书店表”中的“邮政编码”列。 答: ALTER TABLE 书店表DROP COLUMN 邮政编码 1.3将“图书销售表”中的“销售数量”列的数据类型改为整型。 答: ALTER TABLE 图书销售表 ALTER COLUMN 销售数量 int2设某商业集团数据库中有三个实体集: 商店:商店编号、商店名、地址 商品:商品编号、商品名、规格、单价 职工:职工编号、姓名、性别、业绩 每个商店可销售多种商品, 每种商品也可放在多个商店销售, 每 个商店销售一种商品时有月销售量; 每个商店有许多职工,

11、 每个职工 只能在一个商店工作,商店聘用职工有聘期和月薪。(1) 试画出 E-R 图,要求在图上注明属性及联系的类型;(2) 将 E-R 图转换成关系模型,并注明主码;(3) 根据实际情况,使用SQL创建表,包括各种约束;(4) 用SQL语句查找大于平均业绩的职工姓名;(5) 用SQL语句创建一个业绩大于100的所有男职工信息的视图。1)( 5 分)(2) 这个E-R图可转换为4个关系模式:(8分)商店(商店编号,商店名,地址)(2分)职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)(2分)商品(商品编号,商品名,规格,单价)(2分)销售(商店编号,商品编号,月销售量)(2分)(3)

12、create shop(Sid char(3) primary key, Sname char(10), Saddchar(50);( 2 分)create employee(Eid char(3) primary key, En ame char(5), Esex char(1), Each real, Sid char(3),Ere date, Esa int, foreign key (Sid) references (shop); ( 2 分create commodity(Cid char(3) primary key, Cname char(10), Csp char(10), C

13、pr real); ( 2 分)create vendition(Sid char(3), Cid char(3), Vse int, primary key (Sid,Cid),foreign key (Sid) references (shop), foreign key (Cid) references (commodity); ( 2 分)(4) ( 4)select En ame from employee x where Each=(select avg(Each) from employee y where y.Each二x.Each);(5)create view Eman(E

14、id, Ename, Esex, Each, Sid, Ere, Esa)As select Eid, En ame, Esex, Each, Sid, Ere, Es from employee where Each100 and Esex=男(2 分)3.(共10分)设学校数据库中有两个实体集:学生表:学号、姓名、班级课程表:课程号、课程名称、教师某学校有若干学生,每个学生可以选修多门课程,学校有若干课程供 学生选修,每门课程可以供多个学生选修,要建立该学校学生选修课 程的数据库,请设计:(1)试画出E-R图,要求在图上注明属性及联系的类型;(2)将E-R图转换成关系模型,并注明主码;(2

15、)这个E-R图可转换为4个关系模式:(12分) 商店(商店编号,商店名,地址)(3分)职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)(3 分)(3 分)(3 分)商品(商品编号,商品名,规格,单价) 销售(商店编号,商品编号,月销售量)(1)( 4 分)学生表(2)这个E-R图可转换为3个关 课程表(学号,姓名,班级) 选修(学号,课程号) 课程表(课程号,课程名称,教师N课程表4. 一个图书借阅管理数据库要求提供下述服务:1)可随时查询书库中现有书籍的品种,数量与存放位置。所有各类书籍均可由书号唯一标 识。2)可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日

16、期。 约定任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。3) 当需要时,可通过数据库中保存的出版社的电报编号、 及地址等信息向有关书 籍的出版社增购有关书籍。约定一个出版社可以出版多种书籍, 同一本书仅为一个出版社出 版,出版社名具有唯一性。根据以上情况,试构造满足需求的E-R图,并转换成等价的关系模型结构。答案:图略。转换为等价的关系模型结构如下:借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名)出版社(出版社名,电报,地址)借阅(借书证号,书号,借书日期,还书日期)实验一创建数据库和表1、目的和要求(1)了解SQL Server数据库的逻辑结构和物理结

17、构。(2)了解表的结构特点(3)了解SQL Server的基本数据类型。2、实验内容(1 )实验题目 创建一个新的数据库。创建用于企业管理的员工数据库,数据库名称为YGGL 在创建好的数据库 YGGL中创建数据表。考虑到数据库YGGL中包含员工的信息、部分信息以及员工的薪水信息,所以数据库YGG应该包含三个表:Employees (员工自然信息)表、Departme nts (部门信息)表和 Salary (员工薪水情况)表。3、实验步骤(1)在对象资源管理器中创建数据库YGGLH Ld H)8E(P)宙口 T厂剧如1.J妄钵J鬣基得7(2)删除数据库 YGGL界面操作删除数据库删除数据库YG

18、GL时,右键单击数据库,弹出菜单点击“删除”,弹出“删除对象” 窗口,确认删除。T-SQL语句删除数据库在代码空白处右击鼠标,弹出菜单选择“执行 (X) ”或者键盘“ F5”运行代码,在下方 会显示运行成功。ICO% 由消息命令已成功赛成右此时在左侧“对象资管理器”中右键点击“数据库”选择刷新数据库,会发现数据库“ PX” 已经删除。注意:当执行过一遍代码时,也就是执行了 T-SQL语句删除数据库后再次执行代码会 出现这样的警告。原因是由于执行过一遍 T-SQL语句,进行操作的数据库已经被删除,不 存在。100%寺內消息消息3701-级别11,状态1第1行无法对埶据库理执行删隱”因対它不存在,

19、或耆佈设有斷鑫的权限(3)使用T-SQL语句创建数据库 YGGL新建查询后,在窗口中输入上面代码,右键代码空白处执行。然后在“对象资源管理器”中查看。如果“数据库”列表中并未列出YGGL数据库,则单击右键“数据库”,选择“刷列屯Jt许Null恫呢EmployeellD! haNOT NULL,7Educationchar(4)NOT NULL,3BirthdaydcteNOT NULLj9SxbitNOT NULL DEFAULT 1,ieWcrkYeartinyirtNOT NULL,11Addressnull,12PhoneNumberchar(12NULL,OtpdrlmenLlD匸卜N

20、ULL14 )15 GO注:Employees红色下划线,由于已经运行了代码,数据库中已经存在Employees表,所以将鼠标放在上面才会出现下面这样的错误。ijwFl CREME TABLEEmployees1(Employees中已存在复廿Employ豳的对氨RR KEYblftEEf TOfMrrr itdi 11 i利用T-SQL语句创建Departments (部门信息)表。1USEYGGL2GO3FCREATE TABLE Departments4(5DepartmentIDchar;3NOTHULI PRIMARY KEY,&DeprtmentNamechap; 20NOTNUL

21、L,7Notevarcharf100NULL8)1 dGO在代码空白处单击右键选择“执行,会在下方“消息”对话框中看到执行成功。LDO %在左侧对象资源管理器中 YGGL数据库的子菜单表中右键选择刷新,就会显示创建的表。 利用T-SQL语句创建Salary (员工薪水情况)表。SQLQueryS.sql -碍GGL 悶(55)Z xDspartmentsSQLQMYGGL (sa (54)*12345679USE YGGLGO-CREATE TABLE SalaryGO同样执行后,在下方EnployeelD InCorneOutConechar 6 float f loatMOT NULL P

22、RIMARY KEY,MOT NULL,MOT NULL“消息”中会看到“命令已成功完成”,在左边对象资源管理器中YGGL数据库的表中单击右键选择刷新,会出现新建的Salary (员工薪水情况)表。4、思考与练习(1 )在YGG数据库存在的情况下,使用CREATE DATABASE句新建数据库 YGGL查看错误信息。1 -CREAT1E DATfiSE YGGL2ON3-(4IWIE-BGGL_Data b s5Fl LEMAMEl- . : 1 -reg ram Fi lesXF ic roscf tServer_11.也 乂 _5 LKv L_LMIAYGL _.df T6SiZL-lft

23、 MB,7W MBSAF-lLOWlH-5:3ieiLOG ONii(12HAME-HGGL_lOg13FILENAME-T :Prcgram FllssMlcMWr SQL11 .MSSQLSERVERMSQLa4TAYGGL_LC3g. Idf,M5IZE-2 MB.ISHAXSIZL-SM0,16FILLGROWTH-IrtJ17)18GO当左侧资源管理器的数据库中已经存在数据库YGGL时,再次用CREATE DATABASE句新建数据库YGG时,在下方“消息”中会出现以下错误,是由于已经存在数据库YGGL100 % +消舄消島1铀1,级别状态乳盖1行数据库利锐 已存在。请选择其他数播库

24、容称。(2)创建数据库 YGGL1使用界面方式或者 ALTERDATABAS语句尝试修改 YGGL1数据库逻 辑文件的初始大小。1 HALTER DATABASE YGGLI2 MODIFY FILE3 (4 NAME=YGG l_D妣巧5 SIZE=20MB严初始文丼是10恻在这里将逻辑文件初始值修改为2刖B|V6 )7 GOYGGL1中右键单击查看属性,逻辑文在左侧对象资源管理器中刷新数据库,在数据库 件大小已经由初始值修改为 20MB。塔洞志 组 遥 岳 日 規件件顷氐阻底像务 茸文丈应更收药焰串 =-.#一-*-*IfJ-*一倉Chi ns ze ?BC CI AS冃.排帝刚埶師曰总上

25、変背忸日硏无t训YjLItSL创崖El郎型埴3聲1:5S:想划,r| !), not mill?! education 徑h舀论匚null)3 tbit, not rnjill.l3tiirayinl nul I-Addre1& (ya占白吕0上 mJlj zl Mona阪ft b肝(cMr( 121 Pu I)2 Dejrlmer-ilD 工卜別G ” rut nuICEt进Ser:VVXSrEiryint(ZAddreMdrchaKO)E斗色 bhJE br4(13)EtkaRhJ)LIW. fj1 w MF知 Nul E* tL9ltXRwCiuid査1XTT,N:131CwpA F I

26、nrwrilTDKaMom同样在表Employeesl中找到Address找到,在Address属性上单击右键,选择删除在弹出的删除对象窗口中选择确定,进行删除。f r “hQ I fK. c irt) H E T l-Irll IZae*fttni nidir HAfUrCdvWF rw4 null)、严 bt eC null)k Yf *r llinyint. hqII)*K3FijMb.在鲜出的删除对無甫口中 曲圣鴻认胴除一(5 )什么是临时表?怎样创建临时表?可以创建本地和全局临时表。本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。本地临时表的名称前面有一个编号符(#tab

27、le_name),而全局临时表的名称前面有两个编号符(#table_ name)。方法一:临时表名(字段1约束条件, 字段2约束条件,)create table #临时表名(字段1约束条件, 字段2约束条件,create table #方法二:select * into #select * into #临时表名from 你的表;临时表名from 你的表; 注:以上的#代表局部临时表,#代表全局临时表 下面是我创建的临时表 SalarylStjLQuryl.ql E.t.YGGJI (54jJT xpi create table SSalaxylEmployeelDchar 6)NOT NULL PRIMARY KEY,InComeflotNOT NULL,Outcomeflo-atNOT NULL,)lA 匚 tlnComeNOT NULL

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!