ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:2.15MB ,
资源ID:24279004      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24279004.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MySQL练习指导.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MySQL练习指导.docx

1、MySQL练习指导MySQL 数据库上机实验目 录1. Linux下MySQL的安装 3a. Linux下MySQL的二进制安装 3b. Linux下MySQL的源码安装 52. Windows下MySQL的安装 93. MySQL的命令练习 104. MySQL C API的应用练习 215. 综合练习 25a. 利用API编写代码,实现小组表的创建、插入和查询 25b. 带图形界面的查询与显示 25c. 拓展实验作业 251. Linux下MySQL的安装Linux下MySQL的安装:熟悉MySQL在Linux下的二进制安装和源码安装过程。掌握相关Linux安装命令及参数的使用。a. Li

2、nux下MySQL的二进制安装 将MySQL的RPM安装包放在/root目录下 执行MySQL服务端的RPM安装,在终端输入:# rpm ivh MySQL-server-5.0.92-1.i386.rpm 安装成功,启动MySQL服务端 查看MySQL服务端端口号(为3306),在终端输入:# netstat nat 执行MySQL客户端的RPM安装,在终端输入:# rpm ivh MySQL-client-5.0.92-1.i386.rpm 进行登录,在终端输入:# mysql b. Linux下MySQL的源码安装 将源码安装文件放置于/root目录下 解压缩源码安装文件 执行配置,设置

3、参数,在终端输入:# cd mysql-5.0.18# ./configure -prefix=/usr/local/mysql -sysconfdir=/etc -localstatedir=/var/lib/mysql 配置完成 执行编译,在终端输入:# make 编译完成 执行安装,在终端输入:# make install 安装完毕 初始化数据库,在终端输入:# cd /usr/local/mysql/bin# ./mysql_install_db 拷贝文件/root/mysql-5.0.18/supportfiles/mysql.server文件到目录/etc/rc.d/init.d

4、将mysql_server文件更名为mysqld 切换目录,更改mysqld权限,在终端输入:# cd /etc/rc.d/init.d# chmod 777 mysqld 启动mysqld,在终端输入:# /etc/rc.d/init.d/mysqld start 最后到安装目录下运行MySQL,检查其是否能够工作:# /usr/local/mysql/bin/mysql uroot (可选)为了快速启动和关闭MySQL服务端,可以在root下创建两个Shell文件mysqlstart.sh和mysqlstop.sh。在终端输入:# cd /root# vi mysqlstart.sh(同理

5、vi mysqlstop.sh )打开vi,编辑该文件,写入/etc/rc.d/init.d/mysqld start(stop)生成mysqlstart.sh( mysqlstop.sh )文件。启动MySQL只需在终端输入:# mysqlstart.sh2. Windows下MySQL的安装 Windows下熟MySQL的安装:熟悉MySQL在Windows下的安装过程,了解MySQL GUI Tools的安装和使用按照书上的步骤进行操作。3. MySQL的命令练习 确保连接上MySQL服务器,执行查询语句,输入:SELECT VERSION(), CURRENT_DATE; 通过一个简单

6、查询语句,将mysql用作一个简单的计算器:SELECT SIN(PI()/4), (4+1)*5; 使用SHOW语句找出服务器上当前存在什么数据库:SHOW DATABASES; 如果test数据库存在,尝试访问它:USE test 如果管理员在设置权限时为创建了数据库“menagerie”,则可以开始使用它。否则,需要自己创建数据库:CREATE DATABASE menagerie; 创建数据库并不表示选定并使用它。为了使menagerie成为当前的数据库,使用下面命令:USE menagerie 数据库只需要创建一次,但是必须在每次启动mysql会话时在使用前先选择它。可以根据上面的例

7、子执行一个USE语句来实现。还可以在调用mysql时,通过命sp令行选择数据库,只需要在提供连接参数之后指定数据库名称。例如:mysql -uroot -p menagerie 创建数据库是空的:SHOW tables; 创建一个名为“pet”的表,并且它应该包含名字(name)、主人(owner)、种类(species),性别(sex)、出生(birth)和死亡日期(death)。使用一个CREATE TABLE语句指定你的数据库表的布局:CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), s

8、ex CHAR(1), birth DATE, death DATE); 创建了“pet”表后,SHOW TABLES应该产生一些输出:SHOW tables; 为了验证“pet”表是否按照期望的方式创建,使用一个DESCRIBE语句查看表的结构:DESCRIBE pet; 创建表后,需要填入内容。通过LOAD DATA和INSERT语句可以完成该任务。nameownerspeciessexbirthdeathFluffyHaroldcatf1993-02-04ClawsGwencatm1994-03-17BuffyHarolddogf1989-05-13FangBennydogm1990-0

9、8-27BowserDianedogm1979-08-311995-07-29ChirpyGwenbirdf1998-09-11WhistlerGwenbird1997-12-09SlimBennysnakem1996-04-29创建一个文本文件“pet.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。将“pet.txt”放置在Linux目录/usr/local/mysql/bin/下,将文本文件“pet.txt”装载到pet表中,可使用命令:注:“pet.txt”文件已经提供,只需拷贝使用。LOAD DATA INFILE /us

10、r/local/mysql/bin/pet.txt INTO TABLE pet; 如果想要一次增加一个新记录,可以使用INSERT语句。最简单的形式是,提供每一列的值,其顺序与CREATE TABLE语句中列的顺序相同,可以使用下面的INSERT语句添加一条新记录:INSERT INTO pet VALUES (Puffball,Diane,hamster,f,1993-03-30,NULL); SELECT最简单的形式是从一个表中检索所有记录:SELECT * FROM pet; 如果发现Bowser的生日不对。发现其正确的出生年是1989,而不是1979。可以用一个UPDATE语句仅修正

11、错误记录:UPDATE pet SET birth = 1989-08-31 WHERE name = Bowser; 可以从表中只选择特定的行。例如,如果要验证对Bowser的生日所做的更改,按下述方法选择Bowser的记录:SELECT * FROM pet WHERE name = Bowser; 可以在任何列上指定条件。例如查询哪个动物在1998以后出生的,测试birth列:SELECT * FROM pet WHERE birth 1998-1-1; 可以组合条件,例如,找出雌性的狗:SELECT * FROM pet WHERE species = dog AND sex = f;

12、 也可以使用OR操作符进行组合条件查询:SELECT * FROM pet WHERE species = snake OR species = bird; AND和OR可以混用,但AND比OR具有更高的优先级。例如选出公猫或者母狗:SELECT * FROM pet WHERE (species = cat AND sex = m) OR (species = dog AND sex = f); 选择特殊列,如果查询表中的所有行,就列出查询的列,用逗号分开。例如,查询动物什么时候出生的,选择name和birth列:SELECT name, birth FROM pet; 找出谁拥有宠物,使用

13、这个查询:SELECT owner FROM pet; 上述查询只是简单地检索每个记录的owner列,增加关键字DISTINCT检索出每个唯一的输出记录:SELECT DISTINCT owner FROM pet; 可以使用一个WHERE子句结合行选择与列选择。例如,查询狗和猫的出生日期:SELECT name, species, birth FROM pet WHERE species = dog OR species = cat;4. MySQL C API的应用练习 已经安装mysql,创建一个名为“LQS”的数据库,执行:Create Database LQS; 使用数据库:USE

14、LQS 给LQS数据库下创建一个名为“students”的表,并添加相应的组员记录:CREATE table students(id int(3) not null primary key,name char(10) not null,age int(3),sex char(3),birth date,other varchar(50);Insert into students(id,name,age,sex,birth) values(1,Lily,20,F,1988-01-01),(2,Bob,22,M,1986-01-03),(3,Anny,21,F,1985-01-05),(4,Luc

15、y,21,F,1984-11-05),(5,Tom,19,M,1989-02-25); 编译执行MySQL_test.c文件,使用API进行mysql语句的查询。 MySQL_test.c: #include #include #include static GtkWidget* entry1;static GtkWidget* entry2;void PrintAndExit(GtkWidget* widget,GtkWidget* window)MYSQL *mysql;MYSQL_RES *mysql_res;MYSQL_ROW mysql_row;char query256;int r

16、ows;int count;if(!(mysql=mysql_init(NULL)printf(mysql_init wrong!);mysql_close(mysql);exit(0);if(!mysql_real_connect(mysql,localhost,gtk_entry_get_text(GTK_ENTRY(entry1),gtk_entry_get_text(GTK_ENTRY(entry2),LQS,0,NULL,0)printf(connect wrong!);mysql_close(mysql);exit(0);strcpy(query,select * from stu

17、dents);if(mysql_query(mysql,query)printf(mysql_query wrong!);mysql_close(mysql);exit(0);mysql_res=mysql_store_result(mysql);rows=mysql_num_rows(mysql_res);if(rows=0)printf(return null);mysql_free_result(mysql_res);mysql_close(mysql);exit(0);for(count=0;countrows;count+)mysql_row=mysql_fetch_row(mysq

18、l_res);printf(name:%s,mysql_row1);printf(age:%s,mysql_row2);printf(birth:%sn,mysql_row4);mysql_free_result(mysql_res);mysql_close(mysql);gtk_widget_destroy(window);gtk_main_quit();void PrintByeAndExit(GtkWidget* widget,gpointer data)printf(goodbye world!n);gtk_exit(0);int main(int argc,char* argv)Gt

19、kWidget *window,*label1,*label2,*vbox,*hbox1,*hbox2,*button,*separator;gtk_set_locale();gtk_init(&argc,&argv);window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_policy(GTK_WINDOW(window),FALSE,FALSE,FALSE);gtk_signal_connect(GTK_OBJECT(window),destroy,GTK_SIGNAL_FUNC(PrintByeAndExit),NULL);gt

20、k_window_set_title(GTK_WINDOW(window),Mysql test);gtk_container_border_width(GTK_CONTAINER(window),0);vbox=gtk_vbox_new(FALSE,0);gtk_container_add(GTK_CONTAINER(window),vbox);hbox1=gtk_hbox_new(FALSE,0);gtk_box_pack_start(GTK_BOX(vbox),hbox1,FALSE,FALSE,0);label1=gtk_label_new(user name:);gtk_box_pa

21、ck_start(GTK_BOX(hbox1),label1,FALSE,FALSE,0);entry1=gtk_entry_new();gtk_entry_set_text(GTK_ENTRY(entry1),);gtk_editable_select_region(GTK_EDITABLE(entry1),0,-1);gtk_box_pack_start(GTK_BOX(hbox1),entry1,FALSE,FALSE,0);hbox2=gtk_hbox_new(FALSE,0);gtk_box_pack_start(GTK_BOX(vbox),hbox2,FALSE,FALSE,0);

22、label2=gtk_label_new(password:);gtk_box_pack_start(GTK_BOX(hbox2),label2,FALSE,FALSE,0);entry2=gtk_entry_new();gtk_entry_set_text(GTK_ENTRY(entry2),);/gtk_box_pack_start(GTK_BOX(hbox2),entry2,FALSE,FALSE,0);separator=gtk_hseparator_new();gtk_box_pack_start(GTK_BOX(vbox),separator,FALSE,FALSE,0);butt

23、on=gtk_button_new_with_label(Connect);gtk_signal_connect_object(GTK_OBJECT(button),clicked,GTK_SIGNAL_FUNC(PrintAndExit),GTK_OBJECT(window);gtk_box_pack_start(GTK_BOX(vbox),button,FALSE,FALSE,0);GTK_WIDGET_SET_FLAGS(button,GTK_CAN_DEFAULT);gtk_widget_show_all(window);gtk_main();return(0); 将MySQL_tes

24、t.c文件放置于root目录下。 然后编译连接库文件头文件,生成目标文件:# gcc -Wall -g MySQL_test.c -o MySQL_test pkg-config -cflags -libs gtk+-2.0 -I/usr/local/mysql/include/mysql -L/usr/local/mysql/lib/mysql lmysqlclient 运行程序:# ./MySQL_test5. 综合练习a. 利用API编写代码,实现小组表的创建、插入和查询 使用MySQL C API编写代码实现表创建和插入,根据自己所在小组的组员信息创建小组表“group”,字段名可以参考students表: 用gcc编译并运行代码 显示查询的结果 提交相关的代码和运行结果截图b. 带图形界面的查询与显示 结合GTK建立图形用户界面,利用MySQL C API进行应用开发,建立班级通信录,并能够在图形界面上进行相关主题的查询、学生的添加和删除、学生信息的浏览和相关数据统计。 用gcc编译并运行代码 在eclipse中编译、执行并调试代码 提交相关的代码和运行结果截图c. 拓展实验作业(1) 查阅相关资料,搭建LAMP(Linux+Apache+Mysql + PHP)平台。(2) 查阅相关资料,通过编程实现SQL注入。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1