MySql 安装与使用(非常详细)
文章目录
C/C++实战入门到精通 https://blog.csdn.net/weixin_50964512/article/details/125710864
前言
所谓数据库,不过是一个别人写好的存储数据的软件,并向我们这些使用者提供对数据的操作接口,如提供与语言无关性的命令语句
而对数据我们一般需要做哪些操作呢?不过增、删、改、查而已
所以不要将数据库想的太难了
一、安装MySql
点击这里前往官网下载
下载完成后直接双点击安装
等待一段时间后来到下面的安装页面:
选择开发者模式安装
选择安装路径,可以选择在其它盘
开始执行安装
需要等待相当长的一段时间
这里介绍一下各个组件的作用:
- MySql Server:Mysql数据库的服务器,我们操作数据一般都是连接到该服务器进行操作
- MySql Workbench:可视化操作MySql数据库中的数据,说人话就是你可以用鼠标点击操作数据库
- MySql Shell:这个就是通过命令行操作MySql数据库中的数据,学习命令时,推荐用这个,可以快速熟悉各种命令
- MySql for visual studio:VS默认只显示自己的SQL Server源,所以要想MySql连接VS,就需要这个工具
- Connector/NET :MySQL官方的.NET驱动程序,用于结合MySql for visual studio工具连接VS的
- Connector/ODBC:该组件使用户可以用ODBC (Open Database Connectivity,开放数据库互联)数据库连接Mysql的服务器。比如说,用户可以使用Windows中的应用程序,如微软的 Access,Excel去连接数据库服务器。
- Connector/J:连接java的包
- Connector/C++:c++接口组件
- Connector/Python:phthon接口组件
- MySql Router:连接数据库与应用程序的中间组件
- MySql Documentation:MySql数据库的使用文档
- Samples and Examples:例子
安装完成,点击下一步:
下面这个页面为配置选项,红框中的要选择开发者电脑,端口之类的一般默认即可,绿框建议勾选上,以后编程可能有机会用上,后面的名字可以自己取,我就默认了
下图选择验证方法,建议使用老一点的,比较稳定,选择新版本可能导致某些开源代码不兼容
设置root用户的密码,一定要记住该密码,后面可能会经常使用,忘记了密码想要找回会很麻烦
服务器的配置,默认即可
点击开始执行
设置router配置,暂时来说用不到,可跳过
输入刚才设置的密码,检查连接情况
最后会启动图形界面和shell界面软件,这两个程序都可以用于操作数据库
至此安装完成!
中间可能有些跳过了某一张图,因为我不小心截图截丢了,还不能返回上一步😢
没有展示的界面都可以直接按下一步,不影响
二、认识MySql数据库软件的文件结构
MySql 服务器组件的安装位置为安装过程选择的路径
其中,如果你需要在C/C++程序中调用MySql数据库,就需要该文件夹下的头文件和库
而其它组件都默认安装到C盘下C:\Program Files\MySQL路径中
三、MySql Shell的使用
MySql Workbench提供的是图形化操作界面,由于上面的按钮控件太多,对于刚开始学命令很不友好,所以这里使用官方提供的MySql Shell学习数据库的操作指令,
在开始菜单中就能找到该程序:
连接数据库:
\connect root@localhost
\connect 是连接命令,root表示root用户,localhost表示IP地址为127.0.0.1,也可以用这个ip地址代替
后面应该还需要你输入密码,也就是安装软件时填写的密码,然后按Y可保存密码,下次就不用输入了
然后切换到使用sql语句
\sql
输入show databases;指令可显示当前拥有的数据库
show databases;
这些数据库都是默认自带的,如果没有特殊情况,就不要对上面的数据库随意操作,最好自己创建一个数据库练习
create database test;
这条指令的作用是创建一个名字为test的数据库
然后接下来要在该数据库上操作,所以要使用它
use test;
该指令的作用就是使用数据库,接下的其它操作指令都将在该数据库上进行操作
四、建立对MySql数据库的认知
MySql数据库是一个程序,程序里面可以存放许多个不同总类的数据库,比如qq用户数据库,微信用户数据库等等
然后每个数据库又由许多表单组成,比如QQ数据库中,可能会有用户身份信息表单,用户账号关联应用表单,用户好友表单等
而每个表单又由许多表单项组成,即我们常看见的表单有许多列的列头名,比如用户信息表单,可能有性别,生日,年龄等列
而我们的众多信息就存在于各种表中,比如我的QQ可能就占某张表单的其中的一行,包含了我的各种信息
而在当我们操作这些数据库时,MySql的众多命令都需要一个默认的数据库
所以最开始的一句命令一般都为:
use 数据库名;
就是告诉MySql软件我们接下来的命令默认对哪一个数据库进行操作
还需要注意的是,MySql数据库命令都是以英文分号作为一条命令的结束
五、常见MySql指令
1.数据库相关
命令 | 作用 |
---|---|
CREATE DATABASES 数据库名称; | 创建数据库 |
DROP DATABASE 数据库名; | 删除数据库 |
show databases; | 显示所有数据库 |
show tables; | 显示当前数据库所有表 |
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集名称; | 更改数据库字符集 |
2.表相关
命令 | 作用 |
---|---|
CREATE TABLE 表名(列名 类型 [属性],列名 类型 [属性]…); //属性可省略 | 创建表 |
DROP TABLE 表名; | 删除表 |
ALTER TABLE 表名 ADD 列名 类型; | 添加列 |
ALTER TABLE 表名 DROP COLUMN 列名; | 删除列 |
show columns from 表名; | 显示表中所有列 |
select * from 表名; | 显示表中所有数据 |
3.数据相关
命令 | 作用 |
---|---|
INSERT INTO 表名 VALUES(值,值,值…); //默认添加顺序为该表的列名顺序 | 添加数据 |
DELETE FROM 表名 WHERE 条件; | 删除数据 |
IPDATE 表名 SET 列名=值 WHERE 条件; | 修改数据 |
六、指令实战
创建数据库与表
上面已经创建了数据库:
create database test;
使用该数据库:
use test;
再在该数据库中创建一张表:
create table stu(name char(20),age int,sex char,phono char(11));
查看表
show tables;
查看表中有哪些列:
show columns from stu;
向表中添加数据:
insert into stu values('ming',10,'1','10202020'),('zeng',20,'0','1390120'),('qiang',15,'1','9237133'),('hong',13,'0','1342432');
由于该shell对中文支持不友好,所以就用字母了,如果用cmd登录的话,可以使用中文的
查看该表中所有的数据:
显示年龄小于15,性别为男的数据
select * from stu where age<15 and sex='1';
还有其它很多命令,也可以这样自己练习,只有将这些指令用熟练之后,才方便日后编程中使用
七、VS连接MySql
首先需要将下图路径添加到系统环境变量中
windows自带的搜索,找到系统环境变量
双击Path
输入上图路径
需要设置完成后,需要重启电脑才能生效
将下图文件复制到自己的VS项目中
VS项目文件夹中如下图
回到VS项目中,右键项目,点击属性
将include文件夹添加到项目中
然后
#include #include //mysql头文件#pragma comment(lib,"libmysql.lib") //连接库文件using namespace std;int main() {MYSQL* mysql = new MYSQL();MYSQL* pDb = mysql_init(mysql);if (pDb == NULL) {cout << "初始化数据库失败";return -1;}mysql_real_connect(pDb, "localhost", "root", "密码", "数据库名字", 3306, NULL, 0);mysql_close(pDb);return 0;}
运行成功,即成功连接上数据库,就此可以C++编程操作数据库
但最重要的还是基本MySql语句的使用,编程中会大量用到
来源地址:https://blog.csdn.net/weixin_50964512/article/details/124645212
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341