




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
领先的服务外包人才解决方案提供商 MySQL数据库系统 大数据和商业智能系列课程 石家庄经济学院 用户和口令 MySQL用户名 root口令 rootOracle用户 sys和system口令 123456 启秀科技 北京 有限公司 初步尝试MySQL MySQL是 一个使用最广泛的开源数据库系统 特点 易于配置管理 小巧 高效 用客户端连接到MySQLmysql uroot pbigdata连接到MySQLshowdatabasesusenorthwind连接到罗斯文数据库select fromorders查询所有的订单数据useruniversity连接到university数据库showtables显示所有表执行其他查询语句 用MySQLWorkbench连接到MySQL 建立连接查看数据库列表查看university数据库的结构查看northwind数据库的结构获取表的数据执行sql语句 启秀科技 北京 有限公司 Workbench首页 启秀科技 北京 有限公司 SQL编辑器 数据库建模 启秀科技 北京 有限公司 通过Java访问MySQL packagecourse db importjava sql publicclassMySQLJDBC publicstaticvoidmain Stringargs throwsException Class forName com mysql jdbc Driver Connectionconn DriverManager getConnection jdbc mysql localhost northwind user root 加载jdbc驱动 以root身份连接到northwind数据库 执行SQL查询语句 输出查询结果 编译和运行 设置CLASSPATH确保mysql connector java 5 1 25 bin jar在CLASSPATH中编译 javac执行 javacourse db MySQLJDBC 初步了解Oracle Oracle是 使用最广泛的商用数据库系统之一 用客户端工具SqlPlus连接到Oraclesqlplussystem 123456连接到Oracleusenorthwind 连接到罗斯文数据库select fromorders 查询所有的订单数据执行其他查询用SQLDeveloper连接到Oracle 配置SQLDeveloper的连接 启秀科技 北京 有限公司 SQLDeveloper 启秀科技 北京 有限公司 通过Java访问Oracle packagecourse db importjava sql publicclassOracleJDBC publicstaticvoidmain Stringargs throwsException Class forName oracle jdbc driver OracleDriver Connectionconn DriverManager getConnection jdbc oracle thin localhost 1521 northwind sys 123456 Statementstmt conn createStatement ResultSetrs stmt executeQuery SELECTemployeeid lastname firstname titleFROMemployees while rs next System out println rs getString 1 t rs getString 2 t rs getString 3 t rs getString 4 rs close stmt close conn close 加载jdbc驱动 以root身份连接到northwind数据库 执行SQL查询语句 输出查询结果 编译和运行 设置CLASSPATH确保ojdbc6 jar在CLASSPATH中编译 javac执行 javacourse db OracleJDBC 小结 一个DBMS系统通常包括 服务器软件 客户端工具 接口库 关系数据库系统具有类似的访问接口 都支持SQL 可以通过多种编程语言访问数据库 Java PHP等 可以支持两层 三层架构的应用 数据表类型 在创建一个新的MySQL数据表时 可以为它设置一个类型 其中最重要的3种类型是1 MyISAM 成熟 稳定和易于管理 2 InnoDB 加入事物 数据行级锁定机制 外键约束条件 崩溃恢复等新功能 3 HEAP 只存在于内存中 可做临时表 createtabletmp ENGINE MyISAM 要建立一个数据表 表名为informations 其中要有三个数据列 ID 编号 Text 正文 和Date 加入的日期 建立这个表的命令是 mysql CREATETABLEinformations IDINTNOTNULLAUTO INCREMENTPRIMARYKEY TextTEXT DateDATENOTNULL 数据库相关操作4 建立数据表 注 写命令时 一般每行表示一个内容 易查错 Mysql的配置和使用 默认情况下mysql数据库的管理员用户名为root 但是这个root是mysql数据库的默认管理员用户 Root用户的默认密码为null 所以不安全 因此应该配置mysql管理员root的密码 mysqladmin urootpassword密码修改mysql管理员root的密码 mysqladmin uroot prootpasswordadmin 新设密码 修改密码 用户名 原始密码 新密码 连接配置了root密码的mysql数据库 连接mysql数据库的命令 mysql连接本机的mysql数据库 mysql uroot p连接远程的mysql数据库 mysql h主机名或IP地址 uroot p退出mysql数据库的命令 quit 在my ini配置文件中记录了用户名和密码 则登录时 不需要提供 mysql uroot proot 小结 配置mysql的常用操作 启动 停止服务netstartmysqlnetstopmysql配置密码Mysqladmin uroot prootpasswordadmin连接本机mysql数据库Mysql uroot proot退出mysql数据库quit 术语翻译和对照 key 键primarykey 主键superkey 超键candidatekey 候选键foreignkey 外键domain 域constraint 约束relation 关系entity 实体relationship 关联Entity Relationship 实体关系 或实体关联table 表view 视图reference 引用schema 模式 注意 国内不同的文献翻译方法不统一 术语翻译和对照 续 Oracle相关术语schema 方案 根据Oracle的官方资料 这里不译作模式 block 块extent 区间segment 段 注意 国内不同的文献翻译方法不统一 熟悉环境 操作系统 windowsxpsp3MySQLCommunityServer5 6 12MySQLworkbenchMySQLconnectorOracle11grelease2forwindowsx32OraclejdbcdriverPowerDesignerjdk7u25 本节课内容 1 创建数据表2 熟知数据类型 建立表操作语法 createtable表名 列名1列类型 列的完整性约束 列名2列类型 列的完整性约束 任务描述 在数据库中新创建一个数据表school 其由两列组成 第一列属性为非空 并做为主键 并自增 例 createtableschool school idint 10 notnullauto incrementprimarykey school namevarchar 20 常见完整性约束 PRIMARYKEY主码约束 主键 UNIQUE唯一性约束NOTNULL非空值约束AUTO INCREMENT用于整数列默认自增1UNSIGNED无符号整数DEFAULTdefault value默认值约束DEFAULTcur timestamp创建新记录时默认保存当前时间 仅适用timestamp数据列 ONUPDATEcur timestamp修改记录时默认保存当前时间 仅适用timestamp数据列 CHARACTERSETname指定字符集 仅适用字符串 主键与外键 数据表之间的关联 引用关系是依靠具体的主键 primarykey 和外键 foreignkey 建立起来的 主键 帮助MySQL以最快的速度把一条特点的数据记录的位置确定下来 主键必须是唯一的主键应该是紧凑的 因此整数类型比较适合 主键与外键 数据表之间的关联 引用关系是依靠具体的主键外键 引用另外一个数据表的某条记录 外键列类型尽可能与主键列类型保持一致外键列应该加上NOTNULL外键 自动检查外键是否匹配 仅适用InnoDB createtablescore cidintnotnullauto incrementprimarykey scoreint sidint foreignkey sid referencesstudent sid 主键createtablestudent sidintnotnullauto increment namevarchar 20 notnull primarykey sid 主表和从表 1 当主表中没有对应的记录时 不能将记录添加到子表 成绩表中不能出现在学员信息表中不存在的学号 2 不能更改主表中的值而导致子表中的记录孤立 把学员信息表中的学号改变了 学员成绩表中的学号也应当随之改变 3 子表存在与主表对应的记录 不能从主表中删除该行 不能把有成绩的学员删除了4 删除主表前 先删子表 先删学员成绩表 后删除学员信息表 思考 在主键列输入的数值 允许为空吗 一个表可以有多个主键吗 在一个学校数据库中 如果一个学校内允许重名的学员 但是一个班级内不允许学员重名 可以组合班级和姓名两个字段一起来作为主键吗 不允许不可以 选择主键的原则 最少性尽量选择单个键作为主键稳定性尽量选择数值更新少的列作为主键 总结 常用数据类型 思考 电话号码一般使用什么数据类型存储 性别一般使用什么数据类型存储 年龄信息一般使用什么数据类型存储 照片信息一般使用什么数据类型存储 薪水一般使用什么数据类型存储 思考 学员姓名允许为空吗 家庭地址允许为空吗 电子邮件信息允许为空吗 考试成绩允许为空吗 思考 标识列允许为字符数据类型吗 如果标识列A的初始值为1 则输入三行数据以后 再删除两行 下次再输入数据行的时候 标识值从多少开始 INT四 实例 建立一个学生信息表 表名为student 定义列sno 学号 类型为5位定长字符串 非空 主键 定义列sname 姓名 类型为8位定长字符串 非空 定义列ssex 性别 取值1或0 定义列sage 年龄 类型为短整型 定义列sdept 系名 数据类型为20位变长字符串 例 建立一个课程信息表 表名为course 定义列courseid 课程号 类型为整型 非空 自动增长 主键 定义列cname 课程名 类型为16位变长字符串 非空 例 建立一个学生考试成绩信息表 sc 定义列grade 成绩 类型为整型 要求把表字段补充完整 可以通过学号查看学生相关课程的成绩 显示表结构操作 语法 describe表名 desc表名 叙述 用于显示表的创建结构 删除数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论