版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章Linux系统下的数据库应用 9.1 Linux系统下的数据库种类及特点 数据库 数据库管理系统(DBMS) 结构化查询语言(SQL) 数据库类型 管理员职责 IBM 的DB2、Oracle、Informix、Sybase、 SQL Server、PostgreSQL、mySQL、 Access数据库、SQLite、FoxPro数据库 9.2 MySQL数据库管理 #rpm qa | grep mysql #rpm ivh perl-CGI-2.81-88.i386.rpm #rpm ivh perl-DBI-1.32-5.i386.rpm #rpm ivh mysql-server-5
2、.0.22- 2.1.i386.rpm #rpm ivh mysql-5.0.22-2.1.i386.rpm #rpm ivh mod_auth_mysql-3.0.0- 3.1.i386.rpm 启动数据库 #service mysqld status Mysql (pid 1663) is running- #service mysqld start 或脚本启动 #/etc/init.d/mysqld start #service mysqld stop 连接与断开MySQL服务器 #mysql 进入mysql :mysql -h hostname u user -p quit 9.2.2
3、 MySQL数据库的维护 MySQL数据库的用户权限设置 授权表:user、db、host、tables_priv和 columns_priv 服务器检查用户,根据用户请求检查权限 MySQL数据库的初始权限 root 匿名用户 其他 MySQL数据库的用户权限设置命令 设置root用户的密码 mysqladmin u root password password 若拒绝后,再运行如下命令 mysql h hostname - u root p Enter password: 建立其他访问权限的用户 grant privileges on what to user identified by
4、”passwd” with grant option mysql grant all on location.* to gk1020localhost identified by gk1020 取消授权 mysql revoke all on location.* from gk1020localhost 刷新权限 mysql flush privileges 数据库的备份与恢复 备份 mysqldump options database tables mysqldump h 00 u root p 123456 wdg/home/wdg/samp_db_2009_1_2
5、7.sql 恢复 mysql u root p123456 wdg create database location 导入数据结构mysql -uroot -p location show databases; 进入某个库mysql use location; 查看表信息mysql show tables; 查看表结构mysql desc Contact; 改表名mysql rename table Contact to Contact_new 删除库mysql drop database location 删除表mysql drop table Contact 操作语句查询mysql sel
6、ect * from Contact mysql select count(*) from Contact 修改mysql update Contact set RegTime=2008-01-01 00:00:00 where id=1 mysql update Contact set RegTime=2008-01-01 00:00: 00,CID=1 where id=1 插入mysql insert into Contact values(,) mysql insert into Contact(ID,CID,Contact) values(,) 删除mysql delete from
7、 Contact where id=1 导出导出数据库locationmysqldump -uroot -p location ./location.sql 导出某个表mysqldump -uroot -p -database location -table Contact ./contact.sql 导出数据库location的数据结构mysqldump -d -uroot -p location ./location.sql 复制表复制表Contact为Contact_bakmysql create table Contact_bak as select * from Contact 复制
8、表Contact的结构mysql create table Contact_bak as select * from Contact where 1=2 查看正在执行的任务mysql show processlist 案例: 创建和操纵一个MySQL数据库 定义一个新的数据库(example),键入: Mysql create database example; 将会看到一个回答,如:Query OK, 1 row affected (0.17 sec) 在库中建立一个新表,但首先我们需要先选中新的数据库: Mysql use example; 现在可以建表了,有如下字段:索引号 - 整数 ;
9、用户名 - 最大长 度为30的字符串;用户姓 - 最大长度为50的字符串;自由信息 - 最大长度为100的字符串 在MySQL提示符下键入下面的命令来创建表: MySQL create table tbl (idx integer(3), UserName varchar(30), LastName varchar(50), FreeText varchar(100); 回答应该是:Query OK, 0 rows affected (0.01 sec) 从MySQL提示符下看表是什么样子的,键入命令: MySQL show columns from tbl; 看一下表中有什么内容。键入下面的
10、命令: MySQL select * from tbl; 这个命令是用来显示表“tbl”中的所有数据的。 往表中插入一些数据,键入: MySQL insert into tbl values (1,Rafi,Ton,Just a test); Query OK, 1 row affected (0.04 sec) 可以设定数据的顺序,语法如下: MySQL insert into tbl (idx,UserName,LastName,FreeText) values (1,Rafi,Ton,Just a test); 现在可以再看一下表中的内容: MySQL select * from tbl
11、; 删除数据。键入: MySQL delete from tbl where idx=1 limit 1; Query OK, 1 row affected (0.00 sec) 正在告诉MySQL从“tbl”表中删除记录,删除那些idx字段值为1的记录,并且只限制删除一 条记录。如果不限制删除记录数为1,那么所有idx为1的记录都将被删除。 MySQL insert into tbl values (1,Rafi,Ton,Just a test); Query OK, 1 row affected (0.04 sec) 修改指定字段的内容,使用update命令: MySQLupdate tb
12、l set UserName=Berber where UserName=Rafi; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 这个命令将搜索所有UserName为Rafi的记录,并将它改为Berber。注意,set部分和 where部分不一 定要一样。可以索搜一个字段但是改变另一个字段。而且,可以执行两个或更 多条件的搜索。 MySQLupdate tbl set UserName=Rafi where UserName=Berber and LastName=Ton; Query O
13、K, 1 row affected (0.04 sec) 这个查询搜索了两个字段,改变了UserName的值。 9.2.4 MySQL数据库基于Web方式 的远程管理 phpMyAdmin是一个基于web的MySQL数 据库管理工具。它能够创建和删除数据库, 创建/删除/修改表格,删除/编辑/新增字段, 执行SQL脚本等。 http:/ dex.php 安装配置 1.先到网上下载phpmyadmin,再解压到可以访问的web目录下(如果是虚 拟空间,可以解压后通过ftp等上传到web目录下),当然您可以修改解压后 该文件的名称。 2.配置config文件 打开libraries下的config
14、.default.php文件,依次找到下面各项,按照说明配置 即可: A.访问网址$cfgPmaAbsoluteUri=;这里填写这里填写phpMyAdmin的访问网址。的访问网址。 B.mysql主机信息 $cfgServers$ihost=localhost;/MySQLhostnameorIPaddress $cfgServers$iport=;/MySQLport- leaveblankfordefaultport MySQL 端口,默认为 3306,保留为空即 可,如果安装 MySQL 时使用了其它的端口,需要在这里填写。 C.mysql用户名和密码 $cfgServers$iuse
15、r=root;/填写填写MySQL访问访问phpMyAdmin使用使用 的的MySQL用户名,默认为用户名,默认为root。 fgServers$ipassword=;/填写对应上述填写对应上述MySQL用户名的密码。用户名的密码。 D.认证方法 $cfgServers$iauth_type=cookie;考虑考虑 到安全的因素,建议这里填写到安全的因素,建议这里填写cookie。 在此有四种模式可供选择,cookie,http,HTTP, config config方式即输入phpmyadmin的访问网址即可直接进入,无 需输入用户名和密码,是不安全的,不推荐使用。 当该项设置为cookie
16、,http或HTTP时,登录phpmyadmin需要 数据用户名和密码进行验证,,具体如下: PHP安装模式为Apache,可以使用http和cookie; PHP安装模式为CGI,可以使用cookie E.短语密码(blowfish_secret)的设置 $cfgblowfish_secret=; 如果认证方法设置为cookie,就需要设置短语密码, 置于设置为什么密码,由您自己决定 ,但是不能 留空,否则会在登录phpmyadmin时提示错误 几乎所有的配置参数都在 config.inc.php 文件中。如果这个文件不存在,可 以在libraries目录中找到config.default.
17、php,将它复制到 phpmyadmin 目录, 并改名为 config.inc.php。 涉及到界面设计(例如颜色)的参数,存放在 themes/themename/layout.inc.php 文件中。也可以创建 config.footer.inc.php 文件和 config.header.inc.php 文件来添加站点的自定义 代码,这些代码显示在页眉和页脚。 $cfgPmaAbsoluteUri字符串: 这里填写 phpMyAdmin 安装目录的完整 URL (包括完整的路径) phpMyAdmin的主界面 9.2.5MySQL数据库基于GUI方式的 远程管理 MySQL Contr
18、ol Center :MySQLCC是一 个功能齐全的、基于GUI的MySQL客户端 程序,可以跨平台操作。它提供多种风格 的用户界面,支持简体中文,易于操作, 某些操作界面与SQL Server数据库系统的 客户端工具 “企业管理器”非常相似。因 此,无论在功能上还是在界面上, MySQLCC都可以与商业数据库所提供的、 基于GUI的客户端程序相媲美。该项目的开 发一直非常活跃。 1。下载并安装 MySQL Control Center,安装时使用默认设 置即可。 点击下载MySQL Control Center 2。打开MySQL Control Center,在Console Manag
19、er窗口 中点File菜单,选择New (如果是新装的程序,那么会自动跳出Register Server窗口, 请跳到下一步) 3。在出来的Register Server窗口中输入我 们提供给您的服务器 地址、用户名、密码, 然后点Add按钮 4。在Console Manager窗口中,双 击刚才新建的项目, 就可以看到相应的 数据库和表,进行需 要的操作即可 5。如果您对英文不熟 悉,可以在MySQL Control Center的 Options菜单中选择 General, 在Language这里选择 您需要的语言再点 Apply,再重新启动 MySQL Control Center即可
20、通过MySQL Control Center 连接 MySql服务器 安装Mysql 和 MySQL Control Center 安装后 双击桌面海豚图标 File -New General标签页面 Name 本地给该 数据库链接起的名字 如 到张三数据库的链接 Host Name 远端 MySQL所在电脑的IP地 址 User Name root 登 录用户名 Password pwd 登 录密码 Port Mysql端口 默认3306 点左下角的Test 测试下 连接 如果成功 再点右下角 的Add 加入链接 9.3PHP访问数据库 什么是 PHP PHP 指 PHP:超文本预处理器(译
21、者注:PHP: Hypertext Preprocessor,递归命名) PHP 是一种服务器端的脚本语言,类似 ASP PHP 脚本在服务器上执行 PHP 支持很多数据库(MySQL、Informix、Oracle、Sybase、 Solid、PostgreSQL、Generic ODBC 等等) PHP 是一个开源的软件(open source software,OSS) PHP 可免费下载使用 什么是 PHP 文件 PHP 文件可包含文本、HTML 标签以及脚本 PHP 文件向浏览器返回纯粹的 HTML PHP 文件的文件后缀是 .php、.php3 或 .phtml 注意 为了能够顺利
22、的使用MySQL函数,必须在编译 PHP 时添加对 MySQL 的支持。编译时,只要使 用 -with-mysql=DIR 配置选项即可,其中可选 的 DIR 指向 MySQL 的安装目录。 虽然MySQL 扩展库兼容 MySQL 4.1.0 及其以后 版本,但是它不支持这些版本提供的额外功能。 要使用这些功能,请使用 MySQLi 扩展库。如果 要同时安装 mysql 扩展库和 mysqli 扩展库,必须 使用同一个客户端库以避免任何冲突。 MySQL 函数的行为受到 php.ini 中 设置的影响。 PHP MySQL 函数(部分) PHP MySQL 常量 第一个脚本程序。创建一个文本文
23、件,在其中加入下面的 内容: MySQL使用它自己的用户权限表。在安装时,会 创建一个默认的用户(root),该用户是没有口 令的。数据库管理员可以根据需要来增加用户并 赋予用户各种不同的权限 实际创建出数据库。在命令行下,键入下列命令: mysqladmin -u root create mydb 这样就创建了一个名为“mydb”的数据库。-u选项 告诉MySQL我们使用的是root用户。 介绍如何用PHP连上数据库 数据库用户名“root”,密码“sun”,有库 “myguestbook” PHP和MySQl通信(SQL语句:INSERT存,SELECT 取): PHPMySQl:SELE
24、CT * FROM myguestbook; PHPMySQL:INSERT INTO myguestbook(name,comment) VALUE (“张三”,“这是留言”); SWF和PHP通信(LoadVars类的sendAndLoad方法存, 解析XML的方式取): SWFPHP:PHP用echo写xml文件,SWF直接解析该文件。 SWFPHP:swf用“sendAndLoad”(data_lv.uname=“张三”)发 送变量,php用$name=$_POSTuname接收变量。 SWF用“sendAndLoad”给PHP,PHP用“INSERT”给MySQl 其他注意事项: 解
25、决乱码(解决数据库中的中文读出来是?): 在用PhpAdmin建立数据库的时候选择“utf8-geeral-ci”编码。 在php文件的查询语句前,加上:mysql_query(set names utf8); php模块化(便于以后修改): 连接数据库的语句写在单独的文件中,如connectdb.php。 则写数据(datatosql.php)和读数据(datatoxml.php)的文件中加上:require connectdb.php即可。 MySQL排错函数(如操作有错,根据提示会很方便修改): mysql_errno(出错号); mysql_error(出错原因)。 php的日期函数(
26、更详细的可参考其他帮助): data(Ymd,l,H:i); /20080608,Sunday,09:28 SWF实时刷新(保证读取最新数据): swf发送并获取实时变量: data_lv.sendAndLoad(datatosql.php?n=+random(9999), data_lv, post); swf读取实时xml:myXML.load(datatoxml.php?n=+random(9999) 案例 把下面的文字复制到一个文件中,把该文件存在MySQL的bin目录下(我假定文件名是 mydb.dump)。 CREATE TABLE employees ( id tinyint(4
27、) DEFAULT 0 NOT NULL AUTO_INCREMENT, first varchar(20), last varchar(20), address varchar(255), position varchar(50), PRIMARY KEY (id), UNIQUE id (id);INSERT INTO employees VALUES (1,Bob,Smith, 128 Here St, Cityname,Marketing Manager); INSERT INTO employees VALUES (2,John,Roberts,45 There St , Townv
28、ille,Telephonist); INSERT INTO employees VALUES (3,Brad,Johnson,1/34 Nowhere Blvd, Snowston,Doorman); 如果文字是折行的,请确保每一个INSERT语句都是另起一行的。现在,我们要把 数据加入到mydb数据库中了。在命令行下,键入下面的命令: mysql -u root mydb mydb.dump OK,现在我们已经把数据导入到数据库中了。现在我们来处理这些数据。把下面的文 字存入一个文件中,把该文件存在Web服务器的文档目录下,后缀名为.php3。 ?php $db = mysql_connect(localhost, root); mysql_select_db(mydb,$db); $result = mysql_query(SELECT * FROM employees,$db); printf(First Name: %sn, mysql_result($result,0,first); printf(Last Name: %sn, mysql_result($result,0,last); printf(Address: %sn, mysql_result($result,0,add
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年人疼痛护理疼痛评估案例分享
- 关键词堆砌与合理布局边界避免被AI判定作弊扣权重
- 2024-2025学年度专升本测试卷及答案详解(基础+提升)
- 2024-2025学年度粮油食品检验人员试题预测试卷含答案详解(模拟题)
- 2024-2025学年咨询工程师经典例题有答案详解
- 2024-2025学年度火电电力职业鉴定模拟试题带答案详解(B卷)
- 2024-2025学年医学检验(士)考试综合练习及参考答案详解(精练)
- 2024-2025学年度电梯考试检测卷(考点梳理)附答案详解
- 2024-2025学年度公务员考试《常识》必背100题【完整版】附答案详解
- 2024-2025学年度注册公用设备工程师练习题含答案详解【培优】
- 2026四川成都兴城融晟科技有限公司招聘网络运维工程师、项目经理2人考试备考题库及答案解析
- 2026年六安职业技术学院单招职业适应性考试题库附答案详解(轻巧夺冠)
- 铝合金门窗专项施工方案
- 2026丽水市国有资本运营有限公司公开招聘工作人员5人考试参考题库及答案解析
- 2026年亳州职业技术学院单招职业倾向性考试题库含答案详解(巩固)
- 2026年1月浙江省高考选考技术试题真题(含答案详解)
- 煤矿培训纪律制度
- 2026年时事政治热点题库(研优卷)
- 广州大学2026年第一次公开招聘事业编制管理和教辅人员备考题库及答案详解一套
- (2025)中国甲状腺疾病诊疗指南
- 2025成人心血管外科手术体外循环患者血液管理指南课件
评论
0/150
提交评论