付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管理资源配备方案范本
- 2026年资产评估供应合同书
- 2026年公路监理师《合同管理》模拟试题附答案
- 城市社区公共空间儿童友好性评价与优化设计研究意义
- 面向广域物联网的LoRa覆盖增强技术研究报告
- 餐饮行业食品追溯系统建设方案
- 酒店管理合同(2026年五星级酒店)
- 小学数学竞赛备赛方案设计
- 2026华中农业大学植物科学技术学院劳动聘用制科研助理招聘1人(湖北)备考题库及答案详解【网校专用】
- 2026重庆市两江新区锦林小学校公开招聘笔试题库含答案详解(培优B卷)
- 根据新版事故类型(27 类)编制的生产安全事故应急预案
- 2026年上海市普通高中学业水平合格性考试物理模拟卷(含答案详解)
- 企业法务合同风险排查指南
- 2026年人教版七年级下册地理期末学业水平卷(含答案可下载)
- 2026内蒙古乌海银行客户经理社会招聘15人笔试备考题库及答案详解
- 2026年宁夏中考语文一模试卷(含详细答案解析)
- 2026年高考全国一卷政治真题试卷(+答案)
- 安平县(2025年)辅警考试真题及答案
- 2026年北京市初二地理生物会考试题题库(答案+解析)
- T∕DZJN 515-2026 分布式储能系统接入微电网技术规范
- SH∕T 3237-2025 石油化工建筑物抗爆评估技术标准
评论
0/150
提交评论