建立数据库和表
数据库实验2-数据库及表的创建与管理(DDL应用)
![数据库实验2-数据库及表的创建与管理(DDL应用)](https://img.taocdn.com/s3/m/6f52f59c77eeaeaad1f34693daef5ef7ba0d12af.png)
实验二数据库及表的创建与管理(DDL应用)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:一、【实验目的与要求】1.熟悉SQL Server 2005 的环境2.了解使用企业管理器创建数据库的过程和方法3.了解使用企业管理器创建数据库的过程和方法二、【实验准备】1.安装并配置好SQL Server 2005数据库2.设计好数据库创建各参数,准备好测试数据三、【实验要求】1.完成数据库的创建与管理2.完成表的创建与管理。
3. 熟悉SQL Server 2005中企业管理器和查询分析器两个常用管理工具四、【实验内容】1. 数据库创建与管理2. 表的创建、管理及数据操作。
五、【实验步骤】1. 准备工作(1)安装完成SQL Server 2005安装。
(2) 打开企业管理器(3)连接数据库2.数据库的创建与修改准备工作:在C盘下创建目录Exam03,用于存放数据库创建时产生的数据文件。
(1) 数据库的创建使数据定义语句Create Database可以创建数据库,该语句在使用时可指明数据文件和日志文件存放的路径,初始数据文件的大小等参数。
阅读以下是创建数据库SalesDB的SQL语句,理解其功能,并置于查询分析器中执行:create database SalesDBon(name= SalesDB_data,--数据文件的逻辑名称,注意不能与日志逻辑同名filename='C:\Exam03\SalesDB.mdf' ,--物理名称,注意路径必须存在size=20, --数据初始长度为10Mmaxsize=100, --最大长度为100Mfilegrowth=5 --数据文件每次增长1M)log on(name= SalesDB_log,filename='C:\Exam03\SalesDB.ldf ' ,size=20 ,maxsize=50 ,filegrowth=5)在查询分析器中执行上述语句建立数据库SalesDB。
实验1-4 数据库和表的创建
![实验1-4 数据库和表的创建](https://img.taocdn.com/s3/m/56aa5785680203d8ce2f245c.png)
实验一数据库和表的创建、修改和删除一、实验目的掌握利用SQL Server2000及其交互式查询语言SQL进行数据定义的基本操作(如建立、修改、删除基本表)。
二、实验设备与环境1.硬件:电脑一台。
2.软件:Windows 2000/XP等操作系统,安装SQL Server 2000个人版或企业版。
三、实验内容1.掌握查询分析器及企业管理器的使用。
2.利用查询分析器,使用SQL中的CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
四、实验步骤(一)、利用企业管理器进行操作。
1.使用“”创建数据库“学生数据库”。
在“数据库”上右键单击选择“新建数据库”,如图2.1所示。
图2.1新建数据库2.在“数据库属性”中的名称中,输入“学生数据库”。
可以通过“数据文件”与“事务日志”选项分别查看数据库数据文件与事务日志的属性,如图2.2所示。
图2.2 数据库属性3.在新建的“学生数据库”上右键单击,选择“新建”中的“表”,开始创建数据表,如图2.3所示。
图2.3 新建数据表4.在创建数据表的对话框中,输入数据表的各个字段名称、选择合适的数据类型、长度以及确定该字段是否允许空,如图1.4所示。
图2.4 创建数据表的各个字段5.创建表的主键。
在Student表中Sno为主键,在Sno字段的左边,单击鼠标右键选择“设置主键”。
如果某个表的主键由多个字段联合组成,可以通过Ctrl键将多个字段选中,然后按上述方法设置主键。
如图2.5所示。
图2.5 设置表的主键6.将表建好以后要对其进行保存,在保存表对话框中输入表的名称。
如图2.6所示。
图2.6 保存表7.按照以上步骤,完成课程表Course和选课表SC。
8.表建好以后,可以添加数据。
在“学生数据库”中找到上述建立的Student表,右键单击选择“打开表”中的“返回所有行”,如图2.7所示。
图2.7 选择查看数据表的数据9.通过步骤8可以看到Student表中的所有数据,在表中另起一行,向表中添加新的数据,如图2.8所示。
实验三 数据库和数据表的创建
![实验三 数据库和数据表的创建](https://img.taocdn.com/s3/m/3754750beff9aef8941e0675.png)
实验三创建数据库和数据表一、实验目的1. 掌握使用SQL Server Management Studio创建数据库的方法与步骤2. 掌握创建数据库的SQL 语句3、掌握使用SQL Server Management Studio创建数据表的方法与步骤4、掌握创建数据表的SQL 语句背景知识在SQL Server中,数据库是由数据库文件和事务日志文件组成的。
一个数据库至少应包含一个数据库文件和一个事务日志文件。
数据库文件是存放数据库数据和数据库对象的文件。
一个数据库可以有一个或多个数据库文件,当有多个数据库文件时,有一个文件被定义为主数据库文件,扩展名为.mdf,它用来存储数据库的启动信息和部分或全部数据,一个数据库只能有一个主数据库文件。
其它数据库文件被称为次数据库文件,扩展名为.ndf,它主要用来存储除主数据文件外的所有数据文件。
一个数据库可以没有次数据库文件,但也可以同时拥有多个次数据库文件。
事务日志文件是用来记录数据库更新情况的文件,扩展名为.ldf。
它包含恢复数据库所需的所有日志信息。
每个数据库必须至少有一个日志文件。
文件组是将多个数据库文件集合起来形成的一个整体。
每个文件组有一个组名。
文件组分为主文件组和用户定义文件组。
一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。
注:事务日志文件不属于任何文件组。
二、实验内容与步骤2.1 操作内容:●创建一个名为“testdb”数据库:(1)包含一个数据文件,逻辑文件名“testdb_data”,磁盘文件名‘d:\testdb-data.mdf’,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB;(2)包含一个事务日志文件,逻辑文件名为‘d:\testdb_log’, 磁盘文件名“testdb_log.ldf”,文件初始容量为5MB,最大容量为10MB,文件容量递增值为1MB;●对数据库作如下修改:(1)添加一个数据文件,逻辑文件“testdb2_data”,磁盘文件名“d;\testdb2_data.ndf”,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB;(2)将事务日志文件的最大容量增加为15MB,递增值改为2MB;在testdb数据库下创建一个members(会员表),表结构如下:表1 表Members(会员表)2.2 实验步骤:方式一:使用SQL Server Management Studio创建和修改数据库1、创建数据库1. 单击“开始”,指向“程序”,指向“Microsoft SQL Server 2005”,然后单击“SQL Serv erManagement Studio”。
创建数据库和数据表实验总结
![创建数据库和数据表实验总结](https://img.taocdn.com/s3/m/aa47e76ff11dc281e53a580216fc700abb68528d.png)
创建数据库和数据表实验总结创建数据库和数据表是数据库管理的基础工作之一,也是数据库设计的第一步。
通过创建数据库和数据表,可以存储和管理各种数据,为数据的操作提供基础支持。
本文将从创建数据库和数据表的目的、创建步骤、常见问题及解决方法等方面进行总结。
一、创建数据库的目的创建数据库是为了存储和管理数据,提供数据的持久化存储和高效访问。
数据库可以用于存储各种类型的数据,如文本、数字、图片、音频等,满足不同应用场景的数据存储需求。
通过创建数据库,可以实现数据的结构化存储、数据的一致性和完整性约束、数据的高效检索和查询等功能。
二、创建数据库的步骤1. 确定数据库管理系统(DBMS):根据实际需求选择合适的数据库管理系统,如MySQL、Oracle、SQL Server等。
不同的数据库管理系统有不同的特点和功能,需要根据具体需求选择合适的系统。
2. 安装数据库管理系统:根据选择的数据库管理系统,进行相应的安装和配置工作。
安装过程中需要填写一些基本信息,如数据库的名称、端口号、用户名和密码等。
安装完成后,就可以启动数据库服务。
3. 创建数据库:使用数据库管理系统提供的命令或可视化工具,创建数据库。
在创建数据库时,需要指定数据库的名称、字符集、校对规则等参数。
创建完成后,就可以在数据库管理系统中看到新创建的数据库。
4. 创建数据表:在创建数据库后,需要创建数据表来存储具体的数据。
数据表是数据库的基本组成单位,用于存储具有相同结构和属性的数据记录。
创建数据表时,需要指定表名、字段名、字段类型、约束条件等信息。
通过创建不同的数据表,可以满足不同的数据存储需求。
5. 设计数据表结构:在创建数据表时,需要设计表的结构,即确定表中的字段和字段的属性。
字段包括字段名、字段类型、字段长度、是否允许为空、默认值等属性。
通过合理的字段设计,可以满足数据的存储和查询需求。
6. 添加数据表约束:在创建数据表时,可以添加一些约束条件,来保证数据的完整性和一致性。
数据库应用实验报告创建数据库和表以及表操作
![数据库应用实验报告创建数据库和表以及表操作](https://img.taocdn.com/s3/m/67b93d4d33687e21ae45a904.png)
实验一创建数据库和表以及表操作一、实验目的1.了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;2.了解SQL Server的基本数据类型,空值概念;3.学会在企业管理器中创建数据库和表;4.学会使用T—SQL语句创建数据库和表;5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;二、实验内容1.实验题目(1)创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。
数据库YGGL包含下列3个表。
(1)Employees:员工自然信息表。
(2)Departments:部门信息表。
(3)Salary:员工薪水情况表。
各表的结构分别如表T2.1,表T2.2,表T2.3所示。
表T2.1 Employees表结构表T2.2 Departments表结构实验步骤1.在企业管理器中创建数据库YGGL要求:数据库YGGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。
数据库的逻辑文件名和物理文件名均采用默认值,分别为 YGGL_data 和e:\sql\data\MSSQL\Data\YGGL.mdf,其中e:\sql\data\MSSQL为SQL Server 的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值分别为YGGL—LOG 和 e:\sql\data\MSSQL\Data\YGGL_Log.1df。
以系统管理员Administrator是被授权使用CREATE DATABASE语句的用户登录SQL Server服务器,启动企业管理器一>在服务器上单击鼠标右键一>新建数据库一>输入数据库名“YGGL”一>选择“数据文件”选项卡一>设置增长方式和增长比例一>选择“事务口志”选项卡一设置增长方式和增长比例。
Access实验- 数据库创建及表的操作
![Access实验- 数据库创建及表的操作](https://img.taocdn.com/s3/m/db25751876c66137ee0619e8.png)
ACCESS 实验数据库及表的操作一、实验目的1.掌握数据库的创建及其它简单操作2.熟练掌握数据表建立、数据表维护、数据表的操作二、实验内容与要求1.数据库的创建、打开、关闭2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容4.数据表的操作:查找替换数据、排序记录、筛选记录三、实验步骤案例一:创建数据库1.创建空数据库要求:在移动盘上建立“\experiment\ACCESS\实验一”文件夹,并在其下建立“教学管理.accdb”数据库。
创建数据库文件操作步骤:图1-1创建教学管理数据库(1)在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库”,在右侧窗格的文件名文本框中,给出一个默认的文件名“Database1.accdb”。
把它修改为“教学管理”如图1-1所示。
(2)单击按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“\ experiment\ACCESS\实验一”文件夹中,单击“确定”按钮,如图1-2所示。
(3)这时返回到access启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件扩展名,access将自动添加上。
(4)在右侧窗格下面,单击“创建”命令按钮,如图1-1所示。
(5)这时开始创建空白数据库,自动创建了一个名称为表1的数据表,并以数据表视图方式打开这个表1,如图1-3所示。
图1-2“文件新建数据库”对话框(6)这时光标将位于“添加新字段”列中的第一个空单元格中,现在就可以输入添加数据,或者从另一数据源粘贴数据。
图1-3表1的数据表视图2.使用模板创建Web数据库要求:利用模板创建“联系人Web数据库.accdb”数据库,保存在“\ experiment\ACCESS\实验一”文件夹中。
操作步骤:(1)启动Access。
(2)在启动窗口中的模板类别窗格中,双击样本模板,打开“可用模板”窗格,可以看到Access提供的12个可用模板分成两组。
实验一Access数据库及数据表的建立
![实验一Access数据库及数据表的建立](https://img.taocdn.com/s3/m/355c2300842458fb770bf78a6529647d27283487.png)
【实验要求】
1.熟悉Access数据库系统的主界面,主能够熟练使用 帮助系统。
2.学会启动和关闭Access数据库系统 3.熟练掌握数据库的建立方法
【实验内容】
1.设计一个“借阅记录”窗体,在“书号”文本框中输 入书号(或书号的前几位)后,单击“查找”按钮即可 显示借阅该书的所有记录;如果“书号”文本框中没有 输入书号,则单击“查找”按钮时显示一个消息框,提 示输入书号。用宏完成“查找”按钮的操作。
2.设计一个“图书查询”窗体,从组合框中选择一个书 号后,单击“查找”按钮,可以打开“图书信息”窗体, 显示与该书号对应的图书信息。单击“取消”按钮可以 关闭“图书信息”窗体。用宏组完成“查询”和“取消” 按钮的操作。
的读者在2004年的借书情况。
9.在“读者”表中,按“办证日期”字段建立普通索 引,索引名为“办证日期”。
10.在“借书登记”表中,按“借书证号”和“书号” 两个字段建立唯一索引,索引名为“借书证号+书号”。 按“借书证号”和“借书日期”两个字段建立普通索引, 索引名为“借书证号+借书日期”。
2.建立一个名为“借书情况”的数据访问页,按“书号” 分组显示每本图书的借阅情况
3.在页视图处理数据:
(1)添加记录:在记录导航工具栏上,单击“新建记录”。 在第一个字段中键入所需数据,然后按TAB转至下一个 字段,并对每个字段都添加完数据后,保存记录。
(2)编辑字段中的数据:单击要编辑的字段,键入要插入 的文本,保存记录。
2.使用标签向导,建立一个“图书登记卡”标签,如 图所示。
数据库原理实验一-数据库和表的创建与管理
![数据库原理实验一-数据库和表的创建与管理](https://img.taocdn.com/s3/m/241bb7e9b9f67c1cfad6195f312b3169a451eaa3.png)
一.实验内容、步骤以及结果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兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名,日志文件名请自定义。
(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束.不用输入数据。
(3)用SQL中的backup 语句将数据库Student备份到一个bak文件。
(提示:backup database student to disk)——备份:BACKUP DATABASE ”student”TO DISK ='C:\lzcDB1\mybak1015.bak’(4)用SQL语句删除创建的表。
实验一数据库及基本表的建立
![实验一数据库及基本表的建立](https://img.taocdn.com/s3/m/f9508aed5727a5e9856a61ea.png)
实验一数据库及基本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库;2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2005;四、实验方法、步骤及结果测试题目1、创建数据库“学生情况”:SQL语句Create database 学生情况查询分析器执行情况:SQL语句及执行结果截图显示找到主数据文件和日志文件,观察大小,并给出截图。
SQL语句EXEC sp_renamedb学生情况, student查询分析器执行情况:SQL语句及执行结果截图显示题目3、创建基本表含义字段名字段类型字段说明宽度学号Sno Char 10 主键,不允许为空姓名Sname char 10 不允许为空性别Ssex char 2 取值为男或女专业Ssp char 20系别Sdept char 20出生日期Sbirth datetime地区来源Sfrom varchar 30变动情况Schg char 10政治面貌Spa char 8 默认团员民族Snation char 8 默认为汉族含义字段名字段类型字段宽度说明课程编号Cno Char 10 主键课程名称Cname Char 10 唯一约束任课教师Tname Char 8Cdept Char 20开课系别学分CCredit Real 0-20含义字段名字段类型字段宽度说明学号Sno Char 10 外键,与cno共同构成主键课程编号Cno Char 10 外键,与sno共同构成主键成绩Grade real 检查约束0-100 备注Remark varchar 50SQL语句create table S(Sno char(10)primary key,Sname char(10)not null,Ssex char(2)check(Ssex='男'or Ssex='女'),Ssp char(20),Sdept char(20),Sbirth datetime,Sfrom varchar(30),Schg char(10),Spa char(8)default'团员',Snation char(8)default'汉族');create table C(Cno char(10)primary key,Cname Char(10)unique,Tname char(8),Cdept char(20),CCredit real check(CCredit>=0 and CCredit<=20));create table Sc(Sno char(10)References C(Cno),Cno char(10)References s(sno),Grade real check(Grade>=0 and Grade<=100))忘记了一个字段,加上:alter table Sc add Remake varchar(50)查询分析器执行情况:SQL语句及执行结果截图显示题目4*、用sql语句将C表中的ccredit改为整型,同样约束为0-20之间题目5、用sql语句在S表中添加一格“备注”字段remark,变长字符型,长度30,并保存结果题目6. 用sql语句将S表中“专业”字段数据类型改为varchar,长度为30并保存结果题目7. 用sql语句删除SC表中的“备注”字段并保存结果生成数据库关系图截图显示题目9*.用sql语句在S中增加约束,要求学号要用S开头,后接4位数字组成的字符串试着插入学号为0001,姓名为张三的学生,给出提示结果的截图alter table sc drop FK__Sc__Sno;update sc set sno='s'+sno;update s set sno='s'+sno;alter table s add constraint ck_s_sno check(sno like's____');alter table sc add constraint fk_sc_sno foreign key(sno)references s(sno);通过sql语句Sno Sname Ssex Ssp Sdept Sbirth Sfrom Schg Spa SnationRemarkS0001 高明男计算机科学与技术CS 1994-03-14 大连团员汉S 0002 东学婷女计算机应用CS 1986-10-24 包头转系团员蒙S 0003 张五男男电子商务MA 1984-2-17 上海退学团员汉S 0004 刘% 男电子商务MA 1985-4-24 巴盟团员汉S 0005 吴惠女软件开发CS 1985-2-10 通辽团员汉S 0006 王涛男软件开发CS 1984-9-8 赤峰团员满S 0007 郭凤丽男应用电子IS 1984-3-2 广州团员蒙S 0008 贾惠男应用电子IS 1983-2-2 深圳团员汉S 0009 刘一% 男软件开发CS 1985-9-9 东莞团员满S 0010 李春刚男计算机应用CS 1985-2-10 河源团员汉李春刚insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0001','高明','计算机科学与技术','CS','1994-03-14','大连',null,default,'汉)'insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0002','东学婷','女','计算机应用','CS','1986-10-24','包头','转系',default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0003','张五男','男’,'电子商务','MA','1984-2-17','上海','退学',default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0004','刘%','男','电子商务','MA','1985-4-24','巴盟',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0005','吴惠','女','软件开发','CS','1985-2-10','通辽',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0006','王涛','男','软件开发','CS','1984-9-8','赤峰',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0007','郭凤丽','男','应用电子','IS','1984-3-2','广州',null,default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0008','贾惠','男','应用电子','IS','1983-2-2','深圳',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0009','刘一%','软件开发','CS','1985-9-9','东莞',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0010','李春刚','男','计算机应用','CS','1985-2-10','河源',null,default,default,'李春刚'');.通过sql语句向C表中添加数据,并保存结果Cno Cname Tname Cdept Ccredit01 计算机应用王晓梅IS 402 高等数学李一MA 603 网页制作张铁柱CS 604 软件工程付大鹏CS 405 数据库白一格CS 6INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('01','计算机应用','王晓梅','IS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('02','高等数学','李一','MA',6)INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('03','网页制作','张铁柱','CS',6) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('04','软件工程','付大鹏','CS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('05','数据库','白一格','CS',6)截图:Sno Cno Grade 0001 02 85 000103 75 000104 90 0002 05 50 0003 01 85 0003 02 75 0004 03 60 0004 02 92 0005 01 85 0005 04 46 0006 05 95 0006 03 52 0007 04 96 0007 05 85 0008 04 76 0008 05 68INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','02',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','03',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','04',90) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('002','05',50) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','02',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','03',60) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','02',92) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','04',46) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','05',95) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','03',52) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('007','04',96)五、实验中出现的问题及解决方案1.创建数据库时常出错,可不删除原数据库,再修改字段,然后再重新定义数据库2.要去除强制外键约束,才能在中间插入值六、思考题1、说明数据库中的表和数据文件的关系。
利用DAO创建数据库和数据表
![利用DAO创建数据库和数据表](https://img.taocdn.com/s3/m/63bed840dd88d0d232d46a2f.png)
1-1 利用DAO创建数据库和数据表1.首先建立对DAO对象库Microsoft DAO3.6 Object Library的引用.在VBA界面下:工具- 引用,选中”Microsoft DAO3.6 Object Library”2.代码:Public Sub1_1()Dim myDb As DAO.Database ‘定义DAO的Database(数据库)对象变量Dim myTbl As DAO.TableDef ‘定义DAO的TableDef(数据表)对象变量Dim myData As String ‘定义数据库名称变量Dim myTable As String ‘定义数据表名称变量‘设置要创建的数据库名称(包括完整路径)myData=ThisWorkbook.Path & “\学生成绩管理.mdb”‘设置要创建的数据表名称myTable=”期末成绩”‘删除已经存在的数据库文件on error resume nextkill myDataon error goto 0‘创建数据库Set myDb=CreateDatabase(myData,dbLangChineseSimplified)‘创建数据表Set myTbl=myDb.CreateTableDef(myTable)‘为创建的数据表添加各个字段With myTbl.Fields.Append .CreateField(“学号”,dbText,10).Fields.Append .CreateField(“姓名”,dbText,6).Fields.Append .CreateField(“性别”,dbText,1).Fields.Append .CreateF ield(“班级”,dbText,10).Fields.Append .CreateField(“数学”,dbSingle).Fields.Append .CreateField(“语文”,dbSingle).Fields.Append .CreateField(“物理”,dbSingle).Fields.Append .CreateField(“化学”,dbSingle).Fields.Append .CreateField(“英语”,dbSingle).Fields.Append .Crea teField(“总分”,dbSingle)End With‘将创建的数据表添加到数据库的TableDefs集合中myTbl‘关闭数据库,并释放变量myDb.CloseSet myDb=NothingSet myTbl=Nothing‘弹出信息MsgBox”创建数据库成功!” & vbCrLf & “数据库文件名为:” & myData & vbCrLf & “数据表名称为:” & myTable & vbCrLf & “保存位置:” & ThisWorkbook.Path,vbInformation,”创建数据库”End sub注:·CreateDatabase方法创建数据库set mydb=createdatabase(mydata,dblangchinesesimplified)mydb:数据库类型变量dblangchinesesimplified:表达字符串比较规则,这里为简体中文·CreateTableDef方法创建数据表Set myTbl=mydb.Createtabledef(mytable)mytbl:表类型变量mydb:数据库名mytable:表名补充:创建带密码的Access数据库S et mydb=createdatabase(mydata, dblangchinesesimplified & “;pwd=12345”)1-2 利用ADOX创建数据库和数据表:引用:microsoft ADO Ext.2.X for DDL and Security代码:public sub1_2()dim mycat as new adox.catalog ‘定义ADOX的Catalog对象变量dim mytbl as new table ‘定义table对象变量dim mydata as string ‘定义数据库名称变量dim mytable as string ‘定义数据表名称变量‘设置要创建的数据库名称(包括完整路径)mydata=thisworkbook.path & “\学生成绩管理.mdb”‘设置要创建的数据表名称mytable=”期末成绩”‘删除已经存在的数据库文件on error resume nextkill mydataon error goto 0‘创建新的数据库mycat.create”provider=;data source=” & mydata‘创建数据表,并添加字段with mytbl.name=mytable.columns.append “学号”,advarwchar,10.columns.append “姓名”,advarwchar,6.columns.append “性别”,advarwchar,1.columns.append “班级”,advarwchar,10.columns.append “数学”,adSingle.columns.appen d “语文”,adSingle.columns.append “物理”,adSingle.columns.append “化学”,adSingle.columns.append “英语”,adSingle.columns.append “总分”,adSingleEnd with‘将创建的数据表添加到ADOX的Tables集合中mytbl‘释放变量set mycat=nothingset mytbl=nothing‘弹出信息msgbox “创建数据库成功!” & vbcrlf & “数据库文件名为:” & mydata & vbcrlf & “数据表名称为:” & mytable & vbcrlf & “保存位置:” & thisworkbook.path,vbinformation,”创建数据库”end sub注:在VB中,常用的数据访问接口有下列三种:数据库访问对象(DAO,DataAccess object)、远程数据库对象(RDO,Remote Data Object)和ActiveX数据对象(ADO,ActiveX Data Object)·ADOX的常用方法:·Append方法:可以创建columns,groups,indexes,keys,procedures,tables,users,views等为数据表添加字段:字段名,数据类型,字段长度将创建的数据表添加到ADOX的Tables集合中的语句是:mytbl·Create方法:创建一个新的数据库的语句:Mycat.create “provider=;data source=” & mydata·Delete方法:删除数据表:数据表名·Refresh方法:用于更新集合中的对象1-3 利用SQL语句创建数据库和数据表首先引用:microsoft activeX data objects 2.X library 和microsoft ado ext.2.x for ddl and security”代码:public sub1_3()dim mycat as new adox.catalog ‘定义ADOX的Catalog对象变量Dim mycmd as new mand ‘定义Command对象变量dim mydata as strin g ‘定义数据库名称变量dim mytable as string ‘定义数据表名称变量dim SQL as string‘设置要创建的数据库名称(包括完整路径)mydata=thisworkbook.path & “\学生成绩管理.mdb”‘设置要创建的数据表名称mytable=”期末成绩”‘删除已经存在的数据库文件on error resume nextkill mydataon error goto 0‘创建数据库文件mycat.create “provider=;Data source=” & mydata‘设置数据库连接set mycmd.activeconnection=mycat.activeconnection‘设置创建数据表的SQL语句SQL = "CREATE TABLE " & myTable _& "(学号text(10),姓名text(6),性别text(1),班级text(10)," _& "数学Single,语文Single,物理Single,化学Single," _& "英语Single,总分Single)"‘利用execute方法创建数据表with mycmd.commandtext=sql.execute, , adcmdtextend with‘释放变量set mycat=nothingset mycmd=nothing‘弹出信息msgbox “创建数据库成功!” & vbcrlf & “数据库文件名为:” & mydata & vbcrlf & “数据表名称为:” & mytable & vbcrlf & “保存位置:” & thisworkbook.path,vbinformation,”创建数据库”end sub注:有两种方法来创建数据表:·利用mand对象的commandtext属性和execute方法:dim mycmd as new mandset mycmd.activeconnection=mycat.activeconnectionwith mycmd.commandtext=SQL.execute, , adcmdtextend with·利用ADODB.Connection对象的execute方法来生成几个记录集Dim cnn as new adodb.connectiondim rs as new adodb.recordsetset cnn=mycat.activeconnectionset rs=cnn.execute(sql)1-4 在已有的数据库中创建数据表(DAO)引用DAO对象库:microsoft DAO 3.6 object library代码:public sub1_4()dim mydb as da o.database ‘ 定义DAO的database(数据库)对象变量dim mydata as string ‘定义数据库名称变量dim mytable as string ‘定义数据表名称变量‘设置数据库名称(包括完整路径)mydata=thisworkbook.path & “\学生成绩管理.mdb”‘设置要创建的数据表名称mytable=”期末成绩”‘打开数据库set mydb=opendatabase(mydata)‘删除数据库中已经存在的数据表mytable‘创建新的数据表set mytbl=mydb.createtabledef(mytable)‘为创建的数据表添加各个字段With mytbl.fields.append .createfield("学号", dbtext, 10).fields.append .createfield("姓名", dbtext, 6).fields.append .createfield("性别", dbtext, 1).fields.append .createfield("班级", dbtext, 10).fields.append .createfield("数学", dbsingle).fields.append .createfield("语文", dbsingle).fields.append .createfield("物理", dbsingle).fields.append .createfield("化学", dbsingle).fields.append .createfield("英语", dbsingle).fields.append .createfield("总分", dbsingle)end with‘将创建的数据表添加到数据库的TableDefs集合中mytbl‘关闭数据库mydb.close‘释放变量set mydb=nothingset mytbl=nothing‘弹出信息msgbox”数据表<” & mytable & “>创建成功!”,vbinformation,”创建数据表”end sub·补充:opendatabase方法用来打开一个已有的数据库,返回一个数据库对象,并自动将该数据库对象加入到数据库对象集中。
sqlserver建库建表(数据库和数据表的常用操作)
![sqlserver建库建表(数据库和数据表的常用操作)](https://img.taocdn.com/s3/m/8c7fbfdc250c844769eae009581b6bd97f19bc7b.png)
sqlserver建库建表(数据库和数据表的常⽤操作)数据库和数据表(开发常⽤操作)⼀,数据库的创建⼀个SQLServer 是由两个⽂件组成的:数据⽂件(mdf) 和⽇志⽂件(ldf),所以我们创建数据库就是要为其指定数据库名、数据⽂件和⽇志⽂件。
a) create database 数据库名;例:create database mydb;数据⽂件和⽇志⽂件存放在默认⽂件夹数据库⽂件名为mydb.mdf,⽇志⽂件的名字为mydb.ldfb) 创建数据库的完整语句(⾃⼰定义数据⽂件和⽇志⽂件的位置)create database mydbon(name='mydb123',filename='C:\mydb.mdf',--数据⽂件保存位置size=10,--数据库初始⼤⼩以M 为单位maxsize=50,--数据库⼤⼩的最⼤值filegrowth=5 --当数据库数据⼤⼩超过默认值,每次增长的⼤⼩)log on(name='mydb_ldf',filename='C:\mydb_log.ldf',size=5,maxsize=50,filegrowth=5);2) 使⽤数据库use 数据库名;3) 删除数据库drop database数据库名;1. 数据库的备份:将数据库⽂件⽣成⼀个本份⽂件(dat⽂件)backup database 数据库名 to disk=’路径’;backup database mydb to disk='D:\mmm.dat' with format;2. 数据库的还原:根据备份⽂件恢复数据库a) 查看备份⽂件的信息restore filelistonly from disk='D:\mmm.dat';b) 将数据库⽂件还原到备份前的位置restore database mydb from disk='D:\mmm.dat';c) 将数据库⽂件还原到指定位置restore database mydb from disk='D:\mmm.dat'with move 'mydb' to 'F:\mydb.mdf',move 'mydb_log' to 'F:\mydb_log.ldf';三,模式(命名空间)1. 创建模式create schema 模式名 authorization 登录名;例:create schema model01 authorization sa;2. 删除模式a) 级联删除:如果模式中有表,先删除表再删除模式。
第3章_数据库与表的创建及使用
![第3章_数据库与表的创建及使用](https://img.taocdn.com/s3/m/9b69261a964bcf84b9d57b22.png)
库表的约束机制及其激活时机
库表的字段级和记录级以及表的触发器, 为数据的输入和更改实施了约束。
3.3.4 表的打开与关闭
1、工作区
• 工作区的几个概念 – 用以标识一张打开的表的区域。 – 每个工作区都有一个编号,从1~32767(前10个可以用字母A~J表 示); – 每个工作区只能打开一张表,但一张表可以在多个工作区打开,用 AGAIN子句;在工作区打开的表都有一个别名,也可使用表的别名 作为工作区号。 – 系统正使用的工作区为当前工作区,启动VFP后默认当前工作区为1。 – 可以用SELECT命令选择当前工作区。 如:SELECT 4 &&选择4号工作区 SELECT 0 &&选择当前未使用的工作区区号最小的工作区。
3.1.2 数据库的组成
4、存储过程
•在数据库中保存过程和代码的地方。 • 包含用户自定义函数中的任何命令和函数,还有永久关系中参照 完整性代码。
• 对数据库中的数据进行地相似或相同的处理,可以编写成自定义 函数或过程保存在存储过程中,以供其他时候调用。
FUNCTION cj_rule PARAMETERS cj 创建、修改或移去存储过程有以下几种: IF cj>=0 and cj<=100 (1)在“项目管理器”中,选择并展开一个数据库,选 .T. RETURN 定“存储过程”,然后选择“新建”、“修改”或“移去” ELSE RETURN .F. 按钮。 ENDIF (2)在“数据库设计器”中,从“数据库”菜单中选择 ENDFUNC “编辑存储过程”按钮。 在cj字段的验证规则中设 置如下:cj_rule(cj.cj)
(1)“工具”—“选项”
独 占
3.3.4 表的打开与关闭
实验一 数据库表和表间关系的建立
![实验一 数据库表和表间关系的建立](https://img.taocdn.com/s3/m/b7c04f12a76e58fafab00341.png)
实验内容一
实验序号:一实验项目名称:数据库表和表间关系的建立
2、数据库中建立6个表后,指定其主外键关系如下图所示:
①课程信息表_学生选课表关系
②使用SQL脚本建立教学任务表1
④使用SQL脚本建立学生选课表1
⑥使用SQL脚本建立学生档案表1
五、分析与讨论
通过本次实验,初步掌握了数据库的建立,在数据库中建立基本表以及建立基本表间的关系,不过,在建立基本表间的关系是,要特别注意哪个表为主键表,哪个为外键表,同时还要注意,两个表间的联系字段的数据类型一定要相同,并且字段大小也要一样,弄清楚这些关系后,就可以很容易建立表间关系。
第二章 创建数据库和表
![第二章 创建数据库和表](https://img.taocdn.com/s3/m/395a4d59f01dc281e53af089.png)
(4)INSERT [BEFORE] [BLANK] ① INSERT BLANK 在当前记录之后插入一条空白记录 ②INSERT BEFORE BLANK 在当前记录之前插入一条空白记录. ③INSERT INTO 学籍(学号,入学成绩) VALUES(“040301”,587) ④ INSERT INTO <表名> FROM ARRAY<数组名>
(1)使用CREATE TABLE 命令可直接创建表中 的字段 例如:键入命令: OPEN DATABASE 学生 CREATE TABLE 图书借阅(学号C(6), 姓名C(8), 书名C(20), 作者C(8), 定价N(6,2))
(2)使用ALTER TABLE 命令还可以在表中添 加一个字段
将指定数组的各数组元素值依次赋给各字段。
二、浏览记录 1. “浏览”方式 (1)在项目管理器中,选择某表,单击“浏览”, 打开“浏览”记录窗口,如打开表时不是 “浏览”方式,可单击“显示” →“浏览” (2)使用USE命令打开表后,再键入BROWSE 命令 USE 学籍 EXCLUSIVE BROWSE
2.2 创建数据库
一、创建数据库 1.创建数据库有三种方法: 使用项目管理器、使用命令、数据库向导
(1)使用项目管理器 ①在项目管理器窗口中,选择“数据”选项 卡中的“数据库”选项,单击“新建”按 钮,打开“新建数据库”对话框。 ②单击“新建数据库”按钮,出现“创建” 对话框 ③选择文件保存的位置输入数据库名,单击 “保存”按钮,出现“数据库设计器”窗 口及“数据库设计器”工具栏。 ④关闭“数据库设计器”窗口,至此就创建 了一个数据库文件。该数据库文件显示在 项目管理器窗口中。
(2)使用命令创建数据库 格式:CREATE DATABASE[数据库名|?]
如何创建数据库和表
![如何创建数据库和表](https://img.taocdn.com/s3/m/a322d6c148649b6648d7c1c708a1284ac85005e9.png)
如何创建数据库和表1.indexedDB数据库时⼀种事务类型数据库2.是NoSQL数据库3.使⽤JS对象存储数据创建数据库1.indexedDB.open创建数据库2.open⽅法返回⼀个IDBRequest对象<script>var db = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; var request, result, version = 2,dbName = 'testDB',osName = 'objectStore';function createDB() {request = db.open(dbName, version)//请求有三种状态,如下:request.onsuccess = function() { // 打开数据库成功 db = request.result; console.log('open success');}request.onerror = function(e) { // 打开数据库失败 console.log(e.currentTarget.errormessage) }request.onupgradeneeded = function(e) { //请求数据库版本变化时 db = request.result; console.log('upgradeneeded '); }}createDB()<script>如何创建“表”(ObjectStore)1.indexedDB.createObjectStore创建ObjectStore2.createObjectStore ⽅法可以设置主键类型<script>var db = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; var request, result, version = 2,dbName = 'testDB',osName = 'os1';function createDB() {request = db.open(dbName, version)//请求有三种状态,如下:request.onsuccess = function() { // 打开数据库成功db = request.result;console.log('open success');}request.onerror = function(e) { // 打开数据库失败console.log(e.currentTarget.errormessage)}request.onupgradeneeded = function(e) { //请求数据库版本变化时 db = request.result; if (!db.objectStoreNames.contains(osName)) { db.createObjectStore(osName, {autoIncrement: true}) // 创建的表的主建是⾃增型的 } }}createDB()<script>事务IDBTransaction调⽤indexedDB.transaction ⽅法会返回⼀个IDBTransaction对象,它含有⼀个objectStore⽅法可以让⽤户通过指定模式获取objectStoreindexed->transaction->objectStorevar transaction, store;transaction = db.transaction(osName, 'readwrite'); //打开⼀个事务,读写模式store = transaction.objectStore(osName) ///获取osName指定的object store<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Learn IndexedDB</title></head><body><script>var db = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;var request, result, version = 2,dbName = 'testDB',osName = 'os1';function createDB() {request = db.open(dbName, version)//请求有三种状态,如下:request.onsuccess = function() { // 打开数据库成功db = request.result;console.log('open success');}//如何创建索引//IDBObjectStore.createIndex// -indexName:索引名称// -keyPath:索引字段,可以为空或者数组(type array)// -optionParameters:索引配置参数request.onupgradeneeded = function(e) { //请求数据库版本变化时var store = null; db = e.target.result; console.log('upgradeneeded'); if (!db.objectStoreNames.contains(osName)) { //db.createObjectStore(osName, {autoIncrement: true}) // 创建的表的主建是⾃增型的 store = db.createObjectStore(osName, { keyPath: 'id' }) // 创建的表以字段为主建 store.createIndex('idIndex', 'id', { unique: true }); //创建索引字段id唯⼀ store.createIndex('categoryIndex', 'category', { multiEntry: true }); //创建索引字段为数组 store.createIndex('hpIndex', 'hp', { unique: false }); }optionParameters:可选值1.unique 表⽰keyPath 字段的数据是否唯⼀2.multiEntry 表⽰是否为keyPath字段的每⼀项建⽴⼀条索引数据索引的相关⽅法1.查询数据--IDBIndex.get2.查询所有数据--IDBIndex.getAll3.打开游标--IDBIndex.openCursor如何创建游标IDBObjectStore/IDBIndex.openCursor -接受可选参数range和direction -返回⼀个IDBRequet对象 -该IDBRequet对象的结果是⼀个IDBCursor对象function useCursorGetData() {var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式store = transaction.objectStore(osName),// request=store.openCursor(); //创建游标 // request=store.openCursor(IDBKeyRange.only('002')); //指定游标KeyRange,only⼀个 request = store.openCursor(null, 'prev'); request.onsuccess = function() { var cursor = request.result; if (cursor) { console.log(cursor.value); cursor.continue(); } }}request.onerror = function(e) { // 打开数据库失败console.log(e.currentTarget.errormessage)}request.onupgradeneeded = function(e) { //请求数据库版本变化时var store = null;db = e.target.result;console.log('upgradeneeded');if (!db.objectStoreNames.contains(osName)) {// db.createObjectStore(osName, {autoIncrement: true}) // 创建的表的主建是⾃增型的store = db.createObjectStore(osName, { keyPath: 'id' }) // 创建的表以字段为主建 store.createIndex('idIndex', 'id', { unique: true }); //创建索引字段id唯⼀ store.createIndex('categoryIndex', 'category', { multiEntry: true }); //创建索引字段为数组 store.createIndex('hpIndex', 'hp', { unique: false }); } } }createDB()// save datavar data = [{name: '史莱姆',id: '001',hp: 3,category: ['怪物', '容易逃跑']}, {name: '⼩蝙蝠',id: '002',hp: 5,category: ['怪物', '飞⾏']}, {name: '⼩恶魔',id: '003',hp: 9,category: ['怪物', '恶魔']}]// use IDBObjectStore.add to save dataconsole.log(db);//IDBRequest对象//1.使⽤IDBRequest.onsuccess 绑定查询完成事件//2.使⽤IDBRequest.result 获取查询结果//3.使⽤IDBRequest.onerror 绑定查询失败事件function getData(id) {var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式store = transaction.objectStore(osName);var request = store.get(id);request.onsuccess = function() {console.log(request.result);}}request.onerror = function(e) { // 打开数据库失败console.log(e.currentTarget.errormessage)}//key的两种类型//1.设置⾃增主键- {autoIncrement:true}//2.取数据中字段作为主键- {keyPath:字段名} 例如{keyPath:id}// db.createObjectStore(osName, {autoIncrement: true}) // 创建的表的主建是⾃增型的store = db.createObjectStore(osName, { keyPath: 'id' }) // 创建的表以字段为主建//关于“表”的增删查改//1.增加数据-IDBObjectStore.add//2.获取数据-IDBObjectStore.get//3.获取所有数据-IDBObjectStore.addAll//4.修改数据-IDBObjectStore.put//5.删除数据-IDBObjectStore.delete//6.清除所有数据-IDBObjectStore.clearfunction addData() { if (!db) { alert("db"); }var transaction, store;transaction = db.transaction(osName, 'readwrite'); //打开⼀个事务,读写模式 store = transaction.objectStore(osName) ///获取osName指定的 object storedata.map(function(o) {store.add(o) // request = store.add(o) //增加数据 // if (data.length - 1 === i) { // request.onsuccess = function () { // console.log('alreay add all data to db') // showCurrentData() // } // } }) }function getData(id) {var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式store = transaction.objectStore(osName);var request = store.get(id); request.onsuccess = function() { console.log(request.result); }}function getAllData() { var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式 store =transaction.objectStore(osName); var request = store.getAll(); request.onsuccess = function() { console.log(request.result); }}function updateData(id) { var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式 store =transaction.objectStore(osName); var request = store.get(id); request.onsuccess = function() { request = store.put({ //更新即可以更新也可以添加,取决于关键字是否有重复 name: '⼩花猫', id: id, hp: 9 }); }}function deleteData(id) { var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式 store =transaction.objectStore(osName); var request = store.delete(id);request.onsuccess = function() {console.log('delete success');}}function clear() { var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式 store = transaction.objectStore(osName); var request = store.clear(); request.onsuccess = function() { console.log('clear success'); }}IDBKeyRange对象1.upperBound指定游标范围的上限2.lowerBound指定游标范围的下限3.bound指定游标范围的区间4.only指定游标的值function useCursorGetData() {var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式store = transaction.objectStore(osName),// request=store.openCursor(); //创建游标// request=store.openCursor(IDBKeyRange.only('002')); //指定游标KeyRange,only⼀个 request = store.openCursor(null, 'prev');request.onsuccess = function() { var cursor = request.result; if (cursor) { console.log(cursor.value); cursor.continue(); } } }Direction参数direction参数的值-next :顺序查询 -nextunique:顺序唯⼀查询-prev:逆序查询 -prevunique:逆序唯⼀查询function useCursorGetData() {var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式store = transaction.objectStore(osName),// request=store.openCursor(); //创建游标// request=store.openCursor(IDBKeyRange.only('002')); //指定游标KeyRange,only⼀个request = store.openCursor(null, 'prev');request.onsuccess = function() {var cursor = request.result;if (cursor) {console.log(cursor.value);cursor.continue();}} }索引和游标的结合使⽤function useIndexGetData() { // 索引只能查询数据,并不能操作数据var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式store = transaction.objectStore(osName),// request=store.openCursor(); //创建游标// request=store.openCursor(IDBKeyRange.only('002')); //指定游标KeyRange,only⼀个index = store.index('categoryIndex');request = index.getAll('飞⾏');request.onsuccess = function() {console.log(request.result);}}function useIndexAndCursorOperateData() { // 索引和游标结合,可以查询和操作数据var transaction = db.transaction(osName, 'readwrite'), //打开⼀个事务,读写模式store = transaction.objectStore(osName),// request=store.openCursor(); //创建游标// request=store.openCursor(IDBKeyRange.only('002')); //指定游标KeyRange,only⼀个// index=store.index('categoryIndex');index = store.index('hpIndex');// request = index.openCursor(IDBKeyRange.upperBound(5)); // 5(包含5)以下 request =index.openCursor(IDBKeyRange.bound(5,10,true,true)); // 范围(5到10)request.onsuccess = function() {var cursor = request.result,value=null;if (cursor) {// if(cursor.value.id==='002'){// cursor.update({ // 更新数据// name: '⼩蝙蝠',// id: '002',// hp: 10,// category:['怪物','飞⾏']// })// cursor.delete().onsuccess=function () { // 删除数据// console.log('delete');// }// }value = cursor.value;value.hp += 20;cursor.update(value);console.log(cursor.value);cursor.continue();}}}</script> </body> </html>。
第三章 数据库与表的创建及使用
![第三章 数据库与表的创建及使用](https://img.taocdn.com/s3/m/7af0792a915f804d2b16c130.png)
3.3.3 字段属性与表属性
(3)字段的标题(Caption):在浏览窗口中,列表头显示的内
容。 (4)字段的注释(Comment):用来明确地表达列的含义。
(5)字段有效性规则:用来控制输入到字段中的数据的取值范
围。该规则是一个逻辑表达式,且当前字段包含在该表达式中 。在字段值改变时发生作用,它将所输入的值用所定义的逻辑
3
3.1.1 数据库的设计过程
1. 分析数据需求
数据需求分析的目标是对现实世界中要处理的对象进 行详细调查,并在了解整个系统概况、确定新系统功能 的过程中,收集支持系统目标的信息。
2. 确定需要的表
表是存储数据的容器,也是数据库的主要管理对象。 一个应用系统中,往往需要管理各方面的数据。例:
教师表 课程表 学生表 系代码表
11
3.1.3 数据字典
数据字典用来存储元数据的,可以创建和指定的内容: 表的主索引关键字 数据库表的永久性关系 长表名和表注释 字段级和记录级有效性规则
存储过程
插入、更新和删除事件的触发器
12
3.2 数据库的创建、打开与使用
本节重点: 数据库的创建方法? 数据库的打开和关闭方法? 数据库的删除方法?
5. 空值支持(NULL)
决定字段是否支持空值。
6. 备注型和通用型
只要表中有这一个这两种类型中的字段,在创建表结构时系统会 自动生成和管理一个相应的备注文件,用于存储备注及通用字段内 容。备注文件的文件名与表文件名相同,其扩展名为.fpt。 21
3.3.2 表结构的创建和修改
1. 表结构的创建 表结构的创建有两种方法: (1)利用“表设计器” 在项目管理器中,选择“自由表”,单击“新建”按钮,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一创建数据库和表
【实验目的】
(1)了解MySQL数据库的存储引擎的分类;
(2)了解表的结构特点;
(3)了解MySQL的基本数据类型;
(4)了解空值概念;
(5)学会使用SQL界面工具中创建数据库和表;
(6)学会使用SQL语句创建数据库和表。
【实验内容及步骤】
一,实验内容
实验题目
创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息及员工的薪水信息。
数据库YGGL包含下列3个表:
(1)Employees:员工信息表:
(2)Departments:部门信息表:
(3)Salary:员工薪水情况表。
二,实验步骤
1,使用命令行为方式创建数据库YGGL
打开MySQL Command Line Client,输入管理员密码登录,使用CREATE语句创建YGGL数据库:
Creat database YGGL;
2,使用SQL语句在YGGL数据库中创建表Employees
执行创建表employees的SQL语句:
用同样的方法在数据库YGGL中创建表Salary。
创建一个结构与employees表结构相同的空表Employees():
Creat table Employees0LIKE Employees;
3,使用SQL语句删除表和数据库
删除表employees:
Drop table employees;
删除数据库YGGL
Drop database YGGL;
4 使用MySQL界面创建数据库YGGL和题目的3个表
连接上MySQL administrator,单机catalogs目录,在下方出现的数据库列表中右击选择“create new schema”,输入yggl完成创建。
创建表以departments为例,在MYAQLAdministrator中选择数据库YGGL,单机“create table”按钮,输入表名“Departments”,输入employees表各字段信息,单机“apply changes”按钮,在弹出的选项框中单击“execute”按钮
使用相同方法分别创建表Salary和Employees 如下图。
如果要删除表,在MySQL Administator中选择数据库YGGL右击表Departments,单机“Drop Table”按钮,在弹出的选项框中单击“drop table(s)”
按钮,这样表departments就被删除了。
这里暂不做删除。
【思考与练习】
1,在yggl数据库存在的情况下,使用create database语句新建数据库yggl,查看错误信息,再尝试加上if not exists关键词创建yggl,看看有什么变化。
2,使用命令行方法创建数据库yggl1,要求数据库字符集为utf8,校队规则为utf8_general_ci.
3,使用界面方法yggl1数据库中新表emloyees1,要求使用存储引擎myisam,表的结构与employee相同。
4,分别使用命令行方式和界面方式将表employees1中的emailaddress列删除,并将sex列的默认值修改为“男”。
一,
(1)使用命令行方式将表employees1中的emailaddress列删除。
(2) 使用界面方式将表employees1中的emailaddress列删除
二,
(1)使用命令行方式将sex列的默认值修改为“男”。
(2)使用界面方式将sex列的默认值修改为“男”。
【实验总结】
通过本次实验,在使用SQL语句在YGGL数据库中创建表Employees执行创建表employees的SQL语句的时候,写了有好几次语句才写对,通过这次SQL 语句的练习,我认识到,输入语句时首先要心细,然后要根据错误的提示去改写语句,改写的时候可能一次并不能成功,所以要有耐心的去改写。