操作系统实践-第9章mysql数据库_第1页
操作系统实践-第9章mysql数据库_第2页
操作系统实践-第9章mysql数据库_第3页
操作系统实践-第9章mysql数据库_第4页
操作系统实践-第9章mysql数据库_第5页
免费预览已结束,剩余27页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章

MySQL数据库操作系统实践山东科技大学操作系统教研组学会MySQL的安装及其日常管理操作学会数据库、数据表的常用操作掌握通过程序

数据库的方法本章目标实验1:MySQL数据库操作实验2:MySQL表操作实验3:创建一个MySQL数据库实验4:用C语言

MySQL数据库第9章

MySQL数据库实验目的熟练掌握MySQL数据库的常用操作实验1 MySQL数据库操作实验内容数据库的创建、打开查看数据库包含的表为数据库增加新用户为数据库用户设置

权限背景知识常用数据库操作显示MySQL里的数据库mysql>

show

databases;创建数据库mysql>

create

database<数据库名>;打开数据库mysql>

use<数据库名>;显示当前数据库mysql>

select

database();显示数据库中包含的表mysql>

show

tables;增加新用户、并设置

权限mysql>

grant<权限>on<数据库>.<表>to

用户名@登录主机identified

by

" "

;删除数据库mysql>

drop

database<数据库名>;关键说明要想执行SQL命令,必须首先登录MySQL登录后会显示命令提示符“mysql>”,这表示进入了MySQL的控制台,输入SQL命令就可以进行数据库操作了。2.MySQL中每个命令后都要以分号“;”结尾实验步骤登录MySQL,打开mysql数据库,查看一下它有哪些表;创建一个数据库(名字可取为自己的

拼音)并打开它,为该数据库增加一个新用户,并赋予他select、insert、update和delete权限。退出MySQL,以新用户 重新登录,分别尝试打开数据库mysql和db_test,观察会有什么不同结果。实验目的熟练掌握常用数据库表的操作实验2 MySQL表操作实验内容表的创建、修改、删除;记录的添加、修改和删除;Select语句的使用;字段的添加、删除背景知识常用表操作建表mysql>

create

table<表名>(字段设定列表);增加记录mysql>

insert

into<表名>values(字段值列表);显示表中的记录mysql>

select

*

from<表名>[where<条件>][order

by<字段名>,…];修改mysql>

update<表名>set

字段名=字段值where<条件>;删除mysql>

delete

from<表名>[where<条件>];显示数据表的结构mysql>

describe<表名>;或show

columns

from<表名>;增加表结构的字段mysql>

alert

table<表名>add<字段名字段类型>,add<字段名字段类型>...;删除表结构的字段mysql>

alert

table<表名>drop<字段名>;删除表mysql>

drop

table<表名>;实验步骤为实验1所创建的数据库新建一个表,表名任意(建议以tb_开头),表结构可参考

例子;在步骤1的表中尝试添加、修改、删除记录,并用select语句查看结果;尝试添加、删除表结构字段以及删除表操作。实验目的熟练掌握利用数据库的一般流程,为将来的数据库应用开发打下基础。实验3

创建一个MySQL数据库实验内容创建数据库db_chat,并添加数据实验步骤登录MySQL$

mysql

-u

root

–p创建一个名为db_chat的数据库mysql>

CREATE

DATABASE

db_chat;打开数据库mysql>

USE

db_chat;4.创建一个用户信息表tb_userCREATE

TABLE

tb_user(id

INT

AUTO_INCREMENT

NOT

NULL

PRIMARY

KEY,name

VARCHAR(20),sex

BOOL,birthday

DATE,status

TINYINT)

charset=gb2312;5.向表tb_user中添加一些样例数据INSERT

INTO

tb_user(name,sex,birthday,status)

VALUES

('',true,'1990-10-10',1);INSERT

INTO

tb_user(name,sex,birthday,status)

VALUES

('',false,'1992-06-01',0);INSERT

INTO

tb_user(name,sex)

VALUES

('',false);INSERT

INTO

tb_user(name)

VALUES

('liu');实验目的掌握用C语言程序MySQL数据库的流程和方法。实验4

用C语言MySQL数据库实验内容通过C语言程序、删除、查询和更新数据背景知识连接数据库、关闭连接用C语言连接MySQL数据库需要两个步骤:初始化

接句柄结构;进行实际连接。初始化连接句柄的函数为mysql_initMYSQL

*mysql_init(MYSQL*);实现实际连接的函数为mysql_real_connectMYSQL

*mysql_real_connect(MYSQL

*connection, //指向被初始化过的连接句柄结构const

char

*server_host, //主机名或IP地址。如果是本地,可指定为localhostconst

char

*sql_user_name,//MySQL用户名。NULL值表示Linux用户IDconst

char

*sql_password,

//MySQL

。NULL值表示只 无需密码的数据const

char

*db_name, //数据库名unsigned

int

port_number, //端 。设为0,表示默认。const

char

*unix_socket_name,//套接字。设为NULL,表示默认。unsigned

int

flags //用于对一些位模式进行OR操作。可设为0。);关闭连接连接用完之后(通常是退出程序时)要及时关闭连接void

mysql_close(MYSQL

*connection);执行SQL语句SQL语句的嵌入int

mysql_query(MYSQL

*connection,

const

char

*query);执行的UPDATE、DELETE或INSERT等查询影响的行数my_ulonglong

mysql_affected_rows(MYSQL

*connection);(INSERT)操作。。。int

res

=

mysql_query(&my_connection,"INSERT

INTOtb_user(name,sex,birthday,status)

VALUES

('test',true,'1997-01-05',1)");if

(!res)printf(" %lu

行\n",(unsignedlong)mysql_affected_rows(&my_connection));elsefprintf(stderr,"

操作错误

error%d:%s\n",mysql_errno(&my_connection),mysql_error(&my_connection));mysql_close(&my_connection);}

else

{fprintf(stderr,"连接失败\n");if

(mysql_errno(&my_connection))fprintf(stderr,"连接错误

error%d:%s\n",mysql_errno(&my_connection),mysql_error(&my_connection));}return

EXIT_SUCCESS;}UPDATE(更新)和DELETE(删除)操作UPDATE操作与INSERT操作的关键不同就一行,要把嵌入SQL语句的那一行修改为:int

res

=

mysql_query(&my_connection,

"UPDATE

tb_user

SET

status

=2WHERE

name

=

'Lee'");它把名字为“Lee”的记录的status修改为2。删除操作也是类似的。SELECT(查询)操作——提取数据在C应用程序中,从数据库中提取数据一般经历以下4步:①查询;②提取数据;③处理数据;④清理工作。mysql_query(&my_connection,"SELECT

*

FROM

tb_user

WHERE

sex=1");MYSQL_RES

*mysql_store_result(MYSQL

*connection);my_ulonglongmysql_num_rows(MYSQL_RES

*result);MYSQL_ROW

mysql_fetch_row(MYSQL_RES

*result);void

mysql_data_seek(MYSQL_RES

*result,

my_ulonglong

offset);void

mysql_free_result(MYSQL_RES

*result);处理数据MySQL返回的数据分为两种类型:①原始数据。即表中

的数据;②元数据。即数据的数据,包含了关于表结构的信息,比如字段名、字段类型等等。与元数据有关的常用函数获取结果集的列数unsigned

int

mysql_field_count(MYSQL

*connection);这个函数返回结果集的列数,对于实现通用查询处理很有帮助。获取字段信息MYSQL_FIELD

*mysql_fetch_field(MYSQL_RES

*result);(3)设置当前列MYSQL_FIELD_OFFSET

mysql_field_seek(MYSQL_RES

*result,MYSQL_FIELD_OFFSET

offset);处理原始数据和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论