20191218 2021-2022-1-diocs-MySQL数据库系统
思维导图
本章讨论了MySQL关系数据库系统;介绍了MySQL并指出了它的重要性;展示了如何在Linux机器上安装和运行MySQL;演示了如何使用MySQL在命令模式和批处理模式下使用SQL脚本创建和管理数据库;说明了如何将MySQL与C编程相结合;演示了如何将MySQL与PHP集成,通过动态Web页面创建和管理数据库。
知识总结
1.MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache可组成良好的开发环境
2.MySQL与其他的大型数据库比较
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开源软件软件(FLOSS:Free/Libre and Open Source Software),因此使用这种方式除开人工成本就可以建立起一个稳定、免费的网站系统,也被称为“LAMP“或“LNMP”组合。
3.数据库类型
(1)关系型数据库——Oracle、SQL Sever、MySQL
(2)非关系型数据库——Redis、Mongodb,NoSQL数据库在存储速度与灵性方面有优势,也常用于缓存。
4.MySQL的使用
(1)环境变量
我的电脑 -> 右击属性 -> 高级系统设置 -> 环境变量 ->系统变量 ->path
在path变量后加上;变量值
变量值就是MySQL下的bin目录路径
注意:必须开启wamp服务器才可以进去
(2)进入MySQL数据库
DOS系统下清屏的命令:cls
mysql -h localhost -u root -p -b
-h 服务器(本地、指定服务器IP的)[本地localhost可以省略]
-u 用户名(我们用的是root用户:超级管理员)
-p 用户密码(不需要再它后面写密码,密码是回车之后写的)
-b 蜂鸣器(当命令敲错了,报错时提示的声音)
(3)进入MySQL数据库以后的命令
注意:
1.每一行命令结束了以后,请使用 ; 或 \g 来结束,否则命令可以一直写下去
2. 在MySQL的命令中,如果一行命令没有敲完,就回车了,它会继续执行下去,前提是必须是一条完整的命令
3. 退出敲错的命令、或不想继续执行下去的命令时,用\c 或者 Ctrl+c
4. 要想让数据竖起来显示,在命令后用\G
6. \s 可以显示当前服务器的配置
7. help 查看所有可以使用的快捷命令
8. 如果在命令行中遇到了单引号,则MySQL认为你要输入一段字符串,所以,它是必须使用结束的单引号,可以跳出字符串输入状态;
(4)退出数据库服务器
使用\q、exit、quit三者均可
实践过程
1.使用C语言构建MySQL客户机程序
代码如下:
//client.c
#include<stdio.h> #include<my_global.h> #include<mysql.h> int main(int argc,char *argc[]) { printf("MySQL client version is : %s\n",mysql_get_client_info()); }
编译运行截图
Windows系统下:
Linux系统下:
命令如下:
[root@host]# mysql
运行结果如图:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
Mysql安装成功之后,默认的root用户密码为空,这时候可以使用以下的命令来创建root用户的密码:
[root@host]# mysqladmin -u root password "new_password";
之后就可以通过以下命令来连接到MySQL服务器:
[root@host]# mysql -u root -p
Enter password:********
其中需要下载命令:
sudo apt install mysql-client-core-8.0 sudo apt install mariadb-client-10.3
sudo apt-get install mysql-server
具体编译结果截图
很明显数据库安装成功
编写一个简答的程序实现访问数据库,实现show tables功能:
#include <mysql/mysql.h> #include <stdio.h> #include <stdlib.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char server[] = "localhost"; char user[] = "root"; char password[] = "mima"; char database[] = "mysql"; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } if (mysql_query(conn, "show tables")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); printf("MySQL Tables in mysql database:\n"); while ((row = mysql_fetch_row(res)) != NULL) { printf("%s \n", row[0]); } mysql_free_result(res); mysql_close(conn); printf("finish! \n"); return 0; }
运行截图:
编译命令:
g++ -Wall mysql_test.cpp -o mysql_test -lmsqlclient
参考链接
https://www.linuxidc.com/Linux/2016-07/133128.htm
问题与解决
问题:Navicat如何连接mysql数据库?
解决:
用Navicat自带的SSH进行连接
1.首先在Navicat中新建连接
2.在用户名中填写远程数据库的登录用户名,密码框中填写MySQL登录密码
3.测试连接
问题:安装mysql数据库出现以下错误
解决:
先运行sudo su,进入管理员身份来编译命令——mysql -u root -p,就可以顺利进入MySQL的界面