当前位置:首页 » 编程语言 » sql数据库教学后记
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据库教学后记

发布时间: 2022-04-26 19:50:27

⑴ 求一份sql server数据库课程设计报告

2.2需求分析
(1)需求分析的任务
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,用通俗的话来讲,就是分析了解用户关心什么,用户需要什么样的结果,然后在此基础上分析和设计新系统的数据库。
需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。
 信息要求
是指用户需要从数据库中获得信息的内容与性质。由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
 处理要求
是指用户要求完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。
 安全性与完整性要求
一是指用户对系统和数据有什么安全性要求,如不同级别的用户具有什么操作权限和使用哪些数据;二是对数据的输入和存储的什么要求,如数据的长度和范围、数据的有效性、一致性和唯一性等。
确定用户的最终需求其实是一件很困难的事,这是因为一方面用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。另一方面设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。因此设计人员必须与用户不断深入地进行沟通和交流,才能逐步得以确定用户的实际需求。
(2)需求分析的基本步骤
1.调查与初步分析用户的需求,确定系统的功能边界
⑴首先调查组织机构情况
⑵然后调查各部门的业务活动情况
⑶协助用户明确对新系统的各种要求
⑷确定新系统的结构和功能边界,确定哪些功能由计算机完成或将来由计算机完成,哪些活动由人工完成。

常用的调查方法有:
⑴跟班作业
⑵开调查会
⑶请专人介绍
⑷询问
⑸问卷调查
⑹查阅记录
2.生成数据字典
1)数据项条目:数据项是不可再分的数据单位,它直接反映事物的某一特征。
2)数据结构条目:反映了数据之间的组合关系。
3)数据流条目:数据流是数据结构在系统内传输的路径。
4)数据文件条目:数据文件是数据项停留或保存的地方,也是数据流的来源和去向之一。
5)处理过程条目。
(3) 案例分析:教学管理系统数据库的需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库的结构能充分满足各种信息的输出和输入。需求分析阶段主要是收集基本数据,确定数据结构及数据处理的流程,组成一份详尽的数据字典,以便为后面的概念设计和逻辑设计打下基础。

2.3概念结构设计
概念结构设计是对收集来的信息和数据进行分析整理,确定实体、属性及联系,形成独立于计算机的反映用户观点的概念模型。概念设计的重点在于信息结构的设计,它是整个数据库系统设计的关键。
(1)概念结构设计的目标和任务
概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。概念结构是独立于DBMS和使用的硬件环境的。在这一阶段,设计人员要从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换为逻辑模式。
概念模型的表示方法很多,其中最着名、最常用的表示方法为实体-联系方法,这种方法也称为E-R模型方法,该方法采用E-R图描述概念模型。
E-R图提供了表示实体、属性和联系的方法,它由以下三个组件构成:
 实体---用矩形表示,矩形框内写明实体名。
 属性---用椭圆形表示,并用无向边将其与相应的实体连接起来。
 联系---用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。
例如教学管理系统中的学生实体与课程实体的E-R图如下图表示:

(2)概念结构设计的过程
●数据抽象
概念结构是对现实世界的一种抽象,所谓抽象就是对实际的人、事、物和概念进行加工处理,抽取所关心的共同特性,用各种概念精确的加以描述,组成某种模型。
在需求分析中,已初步得到了有关各类实体、实体间的联系以及描述它们性质的数据元素,统称数据对象。
在这一阶段中,首先要从以上数据对象中找出:系统有哪些实体?每个实体有哪些属性?哪些实体间存在联系?每一种联系有哪些属性?然后就可以做出系统的局部E-R模型和全局E-R模型。
● 局部E-R模型设计
局部E-R模型设计是从数据流图出发确定实体和属性,并根据数据流图中表示的对数据的处理、确定实体之间的联系。
设计局部E-R图的步骤是:
1.确定实体类型和属性
实体和属性之间没有严格的区别界限,但对于属性来讲,可以用下面的两条准则作为依据:
1)作为属性必须是不可再分的数据项,也就是属性中不能再包含其他的属性。
2)属性不能与其他实体之间具有联系。

2.确定实体间的联系
依据需求分析结果,考察任意两个实体类型之间是否存在联系,若有,则确定其类型(一对一,一对多或多对多)。
3.画出局部E-R图
确定了实体及实体间的联系后,可用E-R图描述出来。形成局部E-R图之后,还必须返回去征求用户意见,使之如实地反映现实世界,同时还要进一步规范化,以求改进和完善。每个局部E-R图必须满足:
(1)对用户需求是完整的。
(2)所有实体、属性、联系都有惟一的名字。
(3)不允许有异名同义、同名异义的现象。
● 全局E-R模型的设计
各个局部E-R模型建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,即总E-R图。在合并全局E-R模型时,应注意检查和消除属性、命名的冲突及数据冗余。
(3)案例分析:教学管理系统数据库的概念结构设计
通过上面的需求分析,就可以进行数据库的概念结构设计,先对现实当中的人、事、物和概念进行抽象的加工处理,抽取所关心的共同特性,用各种概念进行描述,从中找出能够满足用户需求的各种实体,以及它们之间的关系,并用实体-联系图表示出来(即画出E-R图),为后面的逻辑结构设计打下基础。
1、确定实体及其属性
经过对人工进行的教学管理系统的业务调查,得知系统主要涉及以下几个实体:
● 学生实体:属性主要包括班级名称、学号、姓名、性别、出生日期、民族、政治面貌、来源地、入学成绩、学生类别、电话、备注等。
● 教师实体:属性主要包括教师号、教师姓名、性别、出生日期、所在系、职称
● 班级实体:属性主要包括系部名称、班级号、班级名称、班主任、学生人数、备注等。
● 系部实体:属性主要包括系号、系部名称、班级数等。
● 课程实体:属性主要包括课程号、课程名、考核方式、学分、学时数等。

2、确定实体之间的联系
2.4 逻辑结构设计
(1)逻辑结构设计的目标和任务
逻辑结构设计的目标就是把概念结构设计阶段设计好的E-R图转换为特定的DBMS所支持的数据模型(即层次、网状、关系模型之一),并对其进行优化。
概念模型向逻辑模型的转换过程分为3步进行:
(1)把概念模型转换为一般的数据模型。
(2)将一般的数据模型转换成特定的DBMS所支持的数据模型。
(3)通过优化方法将其转化为优化的数据模型。
(2) 概念模型转换为一般的关系模型
1.实体的转换规则
将E-R图中的每一个常规实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
2.实体间联系的转换规则
1)一个1:1联系可以转换为各自独立的关系模式,也可以与任意一端所对应的关系模式合并。
2)一个1 : n联系可以转换为各自独立的关系模式。
3)一个m : n联系转换为一个关系模式。转换的方法为:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合
(3) 案例分析:教学管理系统数据库的逻辑结构设计
逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换为特定的DBMS所支持的数据模型(即层次、网状、关系模型之一),并对其进行优化,得到满足用户要求和系统功能需求的关系模式。
1、 E-R模型转换为关系模式
将E-R模型转换成初始关系模式的一般规则是:系统中各个实体转换为对应的关系模式;实体之间多对多的联系也转换为关系模式。
根据转换规则,可以将系部、班级、学生、教师、课程五个实体转换成与之对应的五个关系模式;而将学生与课程两者之间多对多的选修关系以及教师、班级和课程三者之间多对多的开课关系也转换为关系模式。
2、关系模式的设计
根据上述的转换结果,在对关系模式中数据进行规范化处理后,得到了符合第三范式的关系模式如下:
学生:{学号、姓名、性别、出生日期、民族、政治面貌、来源地、入学成绩、学生类别、班级名称、电话、备注}
班级:{班级号、班级名称、班主任、学生人数、系部名称、备注}
系部:{系号、系部名称、班级数}
教师:{教师号、教师姓名、性别、出生日期、所在系、职称}
课程:{课程号、课程名、考核方式、学分、学时数}
选修:{学号、课程号、成绩}
开课: {教师号、班级名称、课程号、开课学期、授课地点}
每个关系模式中带下划线的属性或属性的组合表示主键、带双波浪线的属性表示与之关联的表的外键。
根据系统功能需求,数据采用SQL Server 2000所支持的实际数据模型,也就是数据库的逻辑结构。启动SQL Server 2000,创建一个数据库命名为:jxgl。该数据库中各个数据表的结构如下面各个表格所示。每个表格对应于数据库中的一个表。
3、将关系模式转换为数据库中的表
按照关系数据模型的结构,将关系模式转换为关系数据库中的数据表,转换的规则是:一个关系模式转换为一个数据表,关系模式中的每个属性转换为数据表中的一个列。同时设置表中各个列的名称、数据类型、数据宽度以及数据规则,得到如下几个表:

学生表(student)
列名 类型 宽度 规则
班级名称 CHAR 20 内容取自班级信息表的班级名称
学号 CHAR 10 主键、长度为10个字符
姓名 CHAR 8
性别 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME
民族 CHAR 4 假定只能取以下之一:汉、壮、白、回、苗、满、其它
政治面貌 CHAR 4 只能取以下之一:党员、团员、群众
来源地 CHAR 10
入学成绩 INT
学生类别 CHAR 10 假定只能取以下之一:本科、大专(普)、大专(业)、中专、技校、函授、其它
电话 CHAR 11
备注 CHAR 10
注:(1)该表存放全校所有学生的基本信息,每个学生产生一条记录。
(2)学号的前4位表示年级,第5--8位表示班级号(其中第5-6位表示系号, 第7-8位表示系内班级号),最后两位是班内的学生编号,在输入记录内容时应加以区分。

班级表(class)
列名 类型 宽度 规则
系部名称 CHAR 10 非空、内容取自系部信息表的系部名称
班级号 CHAR 4 非空、长度为4个字符
班级名称 CHAR 20 主键
班主任 CHAR 8
学生人数 INT
备注 CHAR 10
注:(1)该表存放全校所有班级的信息,每个班级产生一条记录。
(2)班级号的前2位表示系号,后两位为系内的班级编号,在输入记录内容时应加以区分。

系部表(department)
列名 类型 宽度 规则
系号 CHAR 2 非空、长度为2个字符
系部名称 CHAR 10 主键
班级数 INT
注:该表存放某校所有的系部信息,每个系部产生一条记录。

教师表(teacher)
列名 类型 宽度 规则
教师号 CHAR 4 主键、长度为4个字符
姓名 CHAR 8
性别 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME
职称 CHAR 6 只能取以下之一:教授、副教授、讲师、助教、其他
所在系 CHAR 20 非空、外键(内容取自系部表的系部名称)

课程表(course)
列名 类型 宽度 规则
课程号 CHAR 4 主键、长度为4个字符
课程名 CHAR 20
考核方式 CHAR 4 假定只能取以下之一:考试、考查、其他
学分 INT 非空
学时数 INT
注:该表存放某校所有的课程信息,每门课产生一条记录。

成绩表(SC)
列名 类型 宽度 规则
学号 CHAR 8 主键、内容取自学生信息表的学生姓名
课程号 CHAR 20 主键、内容取自课程信息表的课程名称
成绩 INT
注:该表存放某校所有学生的成绩信息,每个学生学习每门课程产生一条记录。

开课信息表(tcc)
列名 类型 宽度 规则
教师号 CHAR 4 主键、内容取自教师信息表的教师号
课程号 CHAR 4 主键、内容取自课程信息表的课程号
班级号 CHAR 4 主键、内容取自班级信息表的班级号
开课学期 CHAR 20
授课地点 CHAR 20
注:该表存放某校开设课程的信息,每个教师教授某个班级的某门课产生一条记录。

2. 5 物理设计
数据库的物理设计目标是在选定的DBMS上建立起逻辑设计结构确立的数据库结构,这一过程也称为数据库的物理实现。它主要包括两项工作:
一是根据数据库的结构、系统的大小、系统需要完成的功能及对系统的性能要求,决定选用哪个数据库管理系统。目前,数据库产品市场上比较好的产品有:Microsoft SQL Server、Oracle、IBM DB/2,SYBASE等。
二是根据选用的数据库管理系统的数据库实现方法来建立用户数据库,即创建所需要的数据库、表及其他数据库对象。
本系统选用的DBMS是SQL Server 2000,并在该系统上创建用户数据库jxgl以及下属的7个用户表:student、class、department、teacher、course、sc、tcc,各个表的结构按2.4节第3点各表给出的具体内容设定。

2. 5 实训二
以小组讨论的形式,完成人事工资管理系统用户数据库的设计,要求个人写出用户数据库设计的文档(包括数据库的需求分析、概念设计、逻辑设计和物理设计,表达方法可参考本章相应内容的案例分析部分),每个小组上交一份本系统用户数据库包括的数据表。

第三章 数据库的数据完整性设计
3.1数据完整性的基本概念及内容
正确创建数据库后,需要考虑数据的完整性、数据的安全性等要求。数据的完整性主要指数据的正确性、有效性、相容性,强制实施数据完整性可以确保数据库中的数据的质量。
进行数据完整性设计主要考虑以下几个方面的内容:
1)表名惟一;
由系统强制实施控制。
2)列名惟一;()
由系统强制实施控制。
3)数据行惟一;
通过设置主键约束或触发器来实施控制。
4)列值非空;
通过设置非空约束来实施控制。
5)列值惟一性
通过设置惟一约束或惟一索引来实施控制。
6)列值满足一定的条件
通过设置检查约束或触发器来实施控制。
7)数据的一致性和有效性
通过设置外键约束或触发器来实施控制。
至于具体要对数据库的哪一个表的哪一项数据进行什么样的数据完整性设计,还应根据用户的需求来考虑和确定。
3.2 数据完整性的分类与实现方法
在SQL Server关系数据库中,数据完整性分为以下三类:
1. 域完整性
域完整性是指一个列的输入有效性,是否允许空值。实现域完整性的方法主要有:限制数据类型(通过设定列的数据类型)、限定格式(通过CHECK约束和规则)或可能值的范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT定义、NOT NULL定义和规则)以及程序控制。
2. 实体完整性
实体完整性是指保证表中所有的行唯一。实现实体完整性的方法主要有:索引、UNIQUE约束、PRIMARY KEY约束或 IDENTITY属性以及程序控制。
3. 参照完整性
参照完整性也叫引用完整性。参照完整性确保主键(被引用表)和外键(引用表)之间的参照关系。它涉及两个或两个以上表数据的一致性维护。如student表(称为引用表、参照表或子表)的class_id列就是参照class表(称为被引用表、被参照表或父表)的外键。参照完整性可以实现以下两种控制:
(1)存在外键时,被参照表中的这一行不能被删除,主键值也不能改变 (以student和class表的“班级名称”列为例说明)。
(2)若在被参照表中不存在包含相应主键的行时,一个外键值不能插入参照表中(MsgBox "添加记录成功!", vbOKOnly + vbInformation, "提示"
End Sub

Private Sub Command5_Click()
rs.Close
Unload Me
End Sub

Private Sub Form_Load()
rs.CursorLocation = adUseClient ' 设置在客户端创建游标
rs.CursorType = adOpenKeyset '设置游标类型为键集类型
rs.LockType = adLockOptimistic '设置打开记录集时的锁定类型为乐观锁,在执行UPdate方法前不锁定编辑的数据
rs.Open "select * from teacher", cnn
'在表格上显示class表的记录内容
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
'将表格上的数据与文本框或下拉列表框绑定
Set Text1.DataSource = rs
Text1.DataField = "教师号"
Set Text2.DataSource = rs
Text2.DataField = "姓名"
Set Combo1.DataSource = rs
Combo1.DataField = "所在系"
Set Text3.DataSource = rs
Text3.DataField = "出生日期"
Set Text4.DataSource = rs
Text4.DataField = "从教日期"
Set Combo2.DataSource = rs
Combo2.DataField = "性别"
Set Combo3.DataSource = rs
Combo3.DataField = "职称"
Set Combo4.DataSource = rs
Combo4.DataField = "政治面貌"
Set Combo5.DataSource = rs
Combo5.DataField = "学历"
Set Text7.DataSource = rs
Text7.DataField = "家庭住址"
Set Text5.DataSource = rs
Text5.DataField = "联系电话"
Set Text6.DataSource = rs
Text6.DataField = "备注"

'下拉列表框提供班级名称
Combo1.Clear
rs1.Open "select 系部名称 from department", cnn
While Not rs1.EOF()
Combo1.AddItem Trim(rs1.Fields("系部名称"))
rs1.MoveNext
Wend
rs1.Close
End Sub

对其余几个表的数据进行增、删、改操作的窗体的设计方法与上述类拟。

⑵ 请各位大侠帮帮忙(关于MYSQL数据库)

日志项

创建日期: 08-30 14:53
修改时间: 09-12 19:40
标题:
MySQL

分类:
MySql

级别
3-Low
状态
1-未了解
日记日期:
2007-08-30

mysql -uroot -puflbmd1l < mobileno.sql

1.Start Mysql Server

Control Panel -> Services -> MySQL

一、连接MYSQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110
.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
二、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
(password 里面不要加命令符)
mysqladmin -uroot password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。

mysqladmin -uroot -pab12 password djg345
三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。
二、显示命令
1、显示数据库列表。
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表结束
//以下为插入字段
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');
注:在建表中
(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key
(2)将NAME设为长度为10的字符字段
(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了。
(4)将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\下,并在DOS状态进入目录\mysql\bin,然后键入以下命令:
mysql -uroot -p密码 < c:\school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替. 例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、数据传入命令 load data local infile "文件名" into table 表名;
注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在的库 。
五、备份数据库:(命令在DOS的\mysql\bin目录下执行)
mysqlmp --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
后记:其实MYSQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了,呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载,而且它是最权威的。可惜不是象"PHP4中文手册"那样是chm的格式,在查找函数命令的时候不太方便

===========================
1、下载安装ODBC.net;
2、ODBC.net需要MDAC2.7或更高的版本,然后我又下载安装了MDAC2.7
3、下载并安装了MySql的ODBC驱动程序:MySQL Connector/ODBC 3.51.12 (windows32)
4、配置ODBC
创建一个数剧源,使用MySQL ODBC 3.51 Driver
Data Source Name: localhost
Description: MySql ODBC 3.51 Driver DSN
Host/Server Name(or IP):localhost
Database Name: rq
user: root
Password:
Port(if not 3306): 3306
SQL command on connection:

5.Use in Visual Basic

Dim conn As New Connection

Dim strConn As String

strConn = "Provider=MSDASQL.1;Password=uflbmd1l;Persist Security Info=True;User ID=root;Data Source=localmysql;Database=bkstore"

conn.ConnectionString = strConn

conn.Open

Dim rsUsr As New ADODB.Recordset

Dim strSQL As String

strSQL = "SELECT * FROM USER"

Call rsUsr.Open(strSQL, conn)
Debug.Print "now=" & Now
Do While Not rsUsr.EOF
Debug.Print rsUsr.Fields(0).Value
rsUsr.MoveNext
Loop

⑶ mysql基本语句详细教程

看他们网上的,写得都是千篇一律,同时,好多也写得不是很好,下面是我自己总结的有关mysql的使用细节,也是我在学习过程中的一些记录吧,希望对你有点帮助,后面有关存储过程等相关操作还没有总结好,下次总结好了再发给你吧,呵呵~~~~~

MySql学习笔记

MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中。这样就增加了速度与提高了灵活性。并且MySql软件是一个开放源码软件。

注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最好不要超过2030年,然后如果在64位的机器上,年份可以达到2106年,而对于date、与datetime这两种类型,则没有关系,都可以表示到9999-12-31,所以这一点得注意下;还有,在安装MySql的时候,我们一般都选择Typical(典型安装)就可以了,当然,如果还有其它用途的话,那最好选择Complete(完全安装);在安装过程中,一般的还会让你进行服务器类型的选择,分别有三种服务器类型的选择,(Developer(开发机)、Server Machine(服务器)、Dedicated MySql Server Machine(专用MYSQL服务器)),选择哪种类型的服务器,只会对配置向导对内存等有影响,不然其它方面是没有什么影响的;所以,我们如果是开发者,选择开发机就可以啦;然后接下来,还会有数据库使用情况对话框的选择,我们只要按照默认就可以啦;

连接与断开服务器:
连接:在windows命令提示符下输入类似如下命令集:mysql –h host –u user –p
例如,我在用的时候输入的是:mysql –h localhost –u root –p
然后会提示要你输入用户密码,这个时候,如果你有密码的话,就输入密码敲回车,如果没有密码,直接敲回车,就可以进入到数据库客户端;连接远程主机上的mysql,可以用下面的命令:mysql –h 159.0.45.1 –u root –p 123

断开服务器:在进入客户端后,你可以直接输入quit然后回车就可以了;

下面就数据库相关命令进行相关说明
你可以输入以下命令对数据库表格或者数据库进行相关操作,在这里就省略了,然后直接进行文字说明了;

Select version(),current_date;//从服务器得到当前mysql的版本号与当前日期
Select user(); //得到当前数据库的所有用户
Use databasename; 进入到指定的数据库当中,然后就可以操作这个数据库当中的表格了
Show databases; //查询目前数据库中所有的数据库,并且显示出来;
Create batabase databasename;创建数据库,例如:create database manager;
Show tables; //查看当前数据库中的所有表格;
Create table tablename(colums);创建表,并且给表指定相关列,例如:create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);

Describe tablename;将表当中的所有信息详细显示出来,例如:describe pet;
可以用命令一次插入多条记录,例如:
Insert into pet values(‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,null),( ‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,now());
Select * from pet; 从pet表当中查询出所有的记录,显示出来;
Delete from pet where id=1;删除ID为1的那一条记录;
Update pet set birth=’2001-1-3’ where name=’Bowser’;更新name为Bowser的记录当中的birth字段的值;
Select distinct owner from pet;从pet表中选择出owner字段的值唯一的行,如果有多行记录这个字段的值相同,则只显示最后一次出现这一值的一行记录;

有关日期计算:

Select name,birth,curdate(),(year(curdate())-year(birth)) as age from pet;
此处,year()函数用于提取对应字段的年份,当然类似的还有month(),day()等;

在mysql当中,sql语句可以使用like查询,可以用”_”配任何单个字符,用”%”配任意数目字符,并且SQL模式默认是忽略大小写,例如:select * from pet where name like ‘%fy’;
当然也可以用正则表达式模式进行配。

同时在sql当中,也要注意分组函数、排序函数、统计函数等相关用法,在这里只列举一二;
Select species,count(*) from pet group by speceis;
Select * from pet order by birth desc;

查询最大值的相关操作:
Select max(age) from pet;
取前多少项记录,这个主要用于分页查询操作当中,
Select * from pet order by birth desc limit 3;取前三条记录,
Select * from pet order by birth desc limit 0,3;这个可以用于分页查询,limit后面的第一个参数,是起始位置,第二个参数是取记录条数;

有关创建表格自增长字段的写法:
Create table person(id int(4) not null auto_increment,name char(20) not null,primary key (id));

修改表操作:
向表中增加字段:注意,在这个地方,如果是增加多个字段的时候,就要用括号括起来,不然会有问题,如果是单个字段的话,不用括号也没事;
Alter table test add(address varchar(50) not null default ‘xm’,email varchar(20) not null);

将表中某个字段的名字修改或者修改其对应的相关属性的时候,要用change对其进行操作;
Alter table test change email email varchar(20) not null default ‘zz’;//不修改字段名

Alter table test change email Email varchar(30) not null;//修改字段名称

删除表中字段:
Alter table test drop email;//删除单个字段
Alter table test drop address,drop email;//删除多列

可以用Drop来取消主键与外键等,例如:
Alter table test drop foreign key fk_symbol;
删除索引:
Drop index index_name on table_name;
例如:drop index t on test;
向表中插入记录:注意,当插入表中的记录并不是所有的字段的时候,应该要在前面列出字段名称才行,不然会报错;
Insert into test(name) values(‘ltx’);
Insert into test values(1,’ltx’);
也可以向表中同时插入多列值,如:
Insert into test(name) values(‘ltx’),(‘hhy’),(‘xf’);
删除表中记录:
Delete from test;//删除表中所有记录;
Delete from test where id=1;//删除表中特定条件下的记录;

当要从一个表或者多个表当中查询出一些字段然后把这些字段又要插入到另一个表当中的时候,可以用insert …..select语法;
Insert into testt(name) (select name from test where id=4);

从文件中读取行插入数据表中,可以用Load data infile语句;
Load data infile ‘test.txt’ into table test;

可以用Describe语法进行获取有关列的信息;
Describe test;//可以查看test表的所有信息,包括对应列字段的数据类型等;

MySql事务处理相关语法;

开始一项新的事务:start transaction或者begin transaction
提交事务:commit
事务回滚:rollback
set autocommit true|false 语句可以禁用或启用默认的autocommit模式,只可用于当前连接;
例子:

Start transaction;

Update person set name=’LJB’ where id=1;

Commit | rollback;

数据库管理语句
修改用户密码:以root用户为例,则可以写成下面的;mysql –u root –p 旧密码 –password 新密码

Mysql –u root –password 123;//将root用户的密码修改成123,由于root用户开始的时候,是没有密码的,所以-p旧密码就省略了;
例如修改一个有密码的用户密码:mysql –u ltx –p 123 –password 456;

增加一个用户test1,密码为abc,让他可以在任何时候主机上登陆,并对所有数据库有查询、插入、修改、删除的权限。
Grant select,insert,update,delete on *.* to test1@”%” identified by ‘abc’;
增加一个test2用户,密码为abc,让他只可以在localhost上登陆,并且可以对数据库进行查询、插入、修改、删除操作;
Grant select,insert,update,delete on mydb.* to test2@localhost identified by ‘abc’;
如果不想让用户test2有密码,可以再输入以下命令消掉密码:
Grant select,insert,update,delete on mydb.* to test2@localhost identified by “”;

备份数据库常用命令:mysqlmp –h host –u username –p dbname>保存路径与文件名
然后回车后,会让你输入用户密码,输入密码后,再回车就OK啦;
Mysqlmp –hlocalhost –uroot –p test >E:\db\test.sql

这一命令具体解释下:
这个命令就是备份test数据库,并且将备份的内容存储为test.sql文件,并且保存在E:\db下面;
命令当中-p 前面的test是数据库名,然后在数据库名后面要跟上一个”>”,然后接下来,就是写要保存的位置与保存文件的文件名;

将备份好的数据库导入到数据库当中去:也就是运行.sql文件将数据库导入数据库当中去->
首先你得创建数据库,然后运行如下命令:mysql –hlocalhost –uroot –p linux<E:\db\test.sql然后回车,再输入密码就可以啦;
解释下上面的命令:linux是就要导入的数据库名字,然后后面要紧跟着“<”符号,然后后面就是要导入的数据库文件;

将数据库导出保存成XML文件、从XML文件导入数据到数据库:

导出表中数据:mysql –X –h hostName –u userName –p Pwd –e “use DatabaseName;sql;” >xml文件名
或者用另外一种方式也行:mysqlmp –xml –h hostName –u userName –p pwd dbName tableName //这一种只用于显示在当前的mysql客户端,不保存到文件当中;
相关说明:-X代表的是文件的格式是XML,然后-e一写不能掉,还有就是要用双引号将要操作的语句括起来;单引号不行;
例如:mysql –X –hlocalhost –uroot –p –e “use test;select * from pet;”>E:\db\out.xml
从XML文件导入数据到数据库:
Insert into tableName values(1,load_file(‘filepath’));
例如:insert into pet values(1,load_file(“E:\db\out.xml”));

查看数据库状态与查询进程:

Show status;//查看状态
Show processlist;//查看进程

更改用户名,用以下命令:
Update set user=”新名字” where user=”旧用户名”;

给数据库用户设置管理员权限:
Mysqladmin –h host –u username –p pwd;
以root用户为例;
Mysqladmin –h localhost –u root –p 123;

存储过程与函数

存储程序和函数分别是用create procere和create function语句,一个程序要么是一个程序要么是一个函数,使用call语句来调用程序,并且程序只能用输出变量传回值;
要想在MySql5.1中创建子程序,必须具有create routine权限,并且alter routine和execute权限被自动授予它的创建者;

创建存储过程:
首先声明分隔符,所谓分隔符是指你通知mysql客户端你已经输入一个sql语句的字符或字符串符号,在这里我们就以“//”为分隔符;

Delimiter 分隔符\
如:delimiter //
再创建存储过程:
Create procere 存储过程名 ( )
声明存储过程开始:
begin
然后开始写存储过程体:
Select * from pet;
结束存储过程:
End;//
刚刚的例子全部写出来,完整的代码就是:
Delimiter //
Create procere spt () //注意,这个地方,存储过程名与括号之间要有个空格
Begin
Select * from pet;
End;//到这里,整个存储过程就算写完啦

执行存储过程:
Call 存储过程名 ();//
如,我们执行刚刚创建的存储过程,就是:
Call spt ();//

需要说明的是存储过程名后面一定要加个空格,而后面那个括号,则是用于传送参数的参数列表;另外,我们创建存储过程完成后,也只是创建了,但是只有调用call 存储过程名 ();//后才算执行完毕,才能看到存储过程的结果;

⑷ SQL数据库好学吗

数据库就是储存信息的一种工具, 而sql语句就是查看信息的方法。方法很容易学,只要你逻辑清晰,几天就学会了。不过要想把数据存好,
那就有得学了。学sql语句网上到处都有教程,也都很短;要学数据库,建议你买本书看。网上也有视频教学的。
在学习过程中自己多练习。计算机很多偏功课,多练习能学好的。

⑸ SQL 数据库

由于被人对英文实在不感冒 你就将就看看我用中文写的吧
(1)select 姓名 from 学生(表名) where 性别='男'
(2)select 姓名 from 学生(表名) where 班级代号 <> 020321
(3)select 课程名称 ,学分 from 课程(表名)inner join on 课程.教师代号=教师.教师代号
(4)select 姓名 from 学生 where (select 课程号 from 成绩 where 课程号=学生.课程号) 课程号=B0103104 and 课程代号=A0111011
(5)select 姓名 from 学生 where 学号=(select 学号 from 成绩 where 课程号=(select 课程号 from 课程 where 教师代号=(select 教师代号 from 教师 where 姓名=‘李峰’) 教师代号) 课程号) 学号
(6)select 学号,姓名 from 学生 where 学号=(select 学号 from 成绩 where 课程号=(select 课程号 from 课程 where 课程名=‘运筹学’)课程号) 剩下的自己搞吧 懒得做了!

⑹ SQL数据库学习

自己下载一个数据库安装不就行了!
http://www.jb51.net/softs/43885.html
这个是下载!用虚拟光驱装上去双击就行了!
安装SQL2008之前,必须预先安装.NET Framework 3.5,和Windows Installer 4.5
Redistributable,如果你安装了Microsoft Visual Studio 2008,那么您还必须升级到SP1!
.NET
Framework 3.5下载地址:
http://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe
Windows
Installer 4.5 Redistributable下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=5a58b56f-60b6-4412-95b9-54d056d6f9f4&DisplayLang=zh-cn#filelist
SQL
Server 2008 RC0联机丛书:
复制代码迅雷新建任务下载简体中文版(160MB):
http://download.microsoft.com/download/2/0/0/200f927b-45f8-4c44-9391-1f7794503dd6/SQLServer2008_BOL_CHS.msi

⑺ 急求SQL数据库的实训总结,以及在实训中碰到的问题和体会

都差不多吧!我也写过一次,给你吧,希望能够帮到你

这个星期是我们SQL Server 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。而本次实训的目的是让我们掌握数据库系统的原理、技术。将理论与实际相结合,应用现有的数据库管理系统软件,规范、科学地完成一个设计与实现。

这次我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。我们实训的另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单SELECT语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。存储过程、触发器也是我们实训的内容之一, 在操作中有建立存储过程,执行存储过程,及查看和修改存储过程,这些都是非常基础的东西,但对用户却是非常重要的呢,只有熟悉了T_SQL语言,才能更好的掌握更多的东西。我们还学习了,SQL管理、数据的导入、导出、备份和还原。有SQL Server 安全访问控制;登录账户的管理;数据库角色的管理;用户权限管理。维护数据库的安全是确保数据库正常运行的重要工作。数据的备份是对SQL Server数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。而数据的备份还分为数据库完整备份、差异备份、事务日志备份、文件及文件组备份。做数据备份就是为了以后的数据库恢复用。在实训内容上我们还做了仓库管理数据库,其中的要求包含了许多数据库的对象,综合了我们所学的许多知识,让我们更努力的把所学到的东西运用上去。

实训课是在学习与探索中度过的,短暂的一星期实训是结束了,但其中让我们学到了许多知识,出现许多未知的为什么,如仓库管理数据库的初步设置、数据备份与还原的步骤,如何建立视图、触发器等一系列的问题,正是在老师和同学的共同努力之下,我们才一步步把问题解决了,最终完成了不可能完成的任务。

⑻ 教你如何用SQL备份和还原数据库

数据库的备份和恢复 一、备份数据库1、打开SQL企业管理器,在控制台根目录中依次点开 Microsoft SQL Server2、SQL Server组--双击打开你的服务器--双击打开数据库目录3、选择你的数据库名称(如论坛数据库Forum)--然后点上面菜单中的工具--选择备份数据库4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份 二、还原数据库1、打开SQL企业管理器,在控制台根目录中依次点开 Microsoft SQL Server2、SQL Server组--双击打开你的服务器--点图标栏的新建数据库图标,新建数据库的名字自行取3、点击新建好的数据库名称--然后点上面菜单中的工具--选择恢复数据库4、在弹出来的窗口中的还原选项中选择从设备--点选择设备--点添加--然后选择你的备份文件名--添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)--然后点击上方常规旁边的选项按钮5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:/Program Files/Microsoft SQL Server/MSSQL/Data ,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001.mdf ,现在的数据库是zw0002 ,就改成zw0002.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是 .ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定 d:/sqldata/zw0002.mdf或者d:/sqldata/zw0002.ldf ),否则恢复将报错6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复 三、设定每日自动备份数据库1、打开企业管理器,在控制台根目录中依次点开

⑼ 我想学SQL数据库的知识!

《东南大学SQL数据库基础资料》网络网盘资源免费下载

链接: https://pan..com/s/1X0OqhxxjegbZ4oYD-GNWRw

?pwd=d7k3 提取码: d7k3

东南大学 SQL数据库基础 全39讲 主讲-幸研 附复习课|各学科 学习视频目录|复习课|数据库基础003.csf|数据库基础002.csf|数据库基础001.csf|数据库基础(复习)042.csf|数据库基础(复习)041.csf|数据库基础(复习)040.csf|政治目录.txt|哲学目录.txt|语言目录.txt|艺术目录.txt|医学目录.txt|心理目录.txt

⑽ 你觉得数据库这个课怎么样

普通。就是学习数据库的操作而已。读取,编辑,删除这三种操作逻辑。只要记忆力好,把那几种命令语句背下来,基本的操作就没问题。这对今后的其他课程尤其是编程是有帮助的,因为有些软件会设计到数据库的读写操作。尤其是一些网站,肯定会连接数据库。不会数据库操作,就没办法制作动态网站。