C++之MYSQL的简介

来源:互联网 发布:淘宝网如何收藏宝贝 编辑:程序博客网 时间:2024/06/02 07:07

一、mysql简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- Mysql是开源的,所以你不需要支付额外的费用。
- Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL使用标准的SQL数据语言形式。
- Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
- Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。
- MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
- Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的”关系型”可以理解为”表格”的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
这里写图片描述
表头(header): 每一列的名称;
列(row): 具有相同数据类型的数据的集合;
行(col): 每一行用来描述某个人/物的具体信息;
值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
键(key): 表中用来识别某个特定的人/物的方法, 键的值在当前列中具有唯一性。

二、在Ubuntu下安装mysql
(1)安装
mysql-server MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
mysql-client MySQL 客户端程序,用于连接并操作Mysql服务器。
mysql-devel 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该包。
mysql-shared 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
mysql-bench MySQL数据库服务器的基准和性能测试工具

ubuntu下mysql安装:
apt-get install mysql-server mysql-client libmysqlclient-dev
安装过程中会提示设置密码什么的,注意设置了不要忘了。

(2)验证安装
在成功安装Mysql后,一些基础表会被初始化,在服务器启动后,你可以通过简单的测试来验证Mysql是否工作正常。
使用 mysqladmin 命令来检查服务器的版本,在linux上该二进制文件位于 /usr/bin ,在window上该二进制文件位于C:\mysql\bin 。
mysqladmin –version
linux上该命令将输出以下结果,该结果基于你的系统信息:
mysqladmin Ver 8.42 Distrib 5.5.55, for debian-linux-gnu on x86_64

(3)mysql服务开启与使用
1、开启mysql服务:
service mysql start
或者 /etc/init.d/mysql start
如果你需要在Linux系统启动时启动 MySQL 服务器,你需要在 /etc/rc.local 文件中添加以下命令:/etc/init.d/mysql start

2、检测服务是否开启:

netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功

3、客户端登陆服务器:
mysql -u 用户名 -p密码
以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:
show databases;显示当前的数据库

三、mysql的管理
1、mysql用户设置

如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可。
以下为添加用户的的实例,用户名为ly,密码为123456,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限:

// 使用mysql数据库

1、 use mysql;

// 添加用户
2、insert into user(host, user, password, select_priv, insert_priv, update_priv) values(‘localhost’, ‘ly’, PASSWORD(‘123456’), ‘Y’
, ‘Y’, ‘Y’);

// 重新载入授权表
3、flush privileges;

// 查询
4、 select host, user, password from user where user = ‘ly’;

在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。
注意:在添加后需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。
如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。
你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 ‘Y’ 即可,用户权限列表如下:

Select_priv
Insert_priv
Update_priv
Delete_priv
Create_priv
Drop_priv
Reload_priv
Shutdown_priv
Process_priv
File_priv
Grant_priv
References_priv
Index_priv
Alter_priv

2、管理mysql的命令
(1)use 数据库名
选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

(2)show databases;
列出 MySQL 数据库管理系统的数据库列表。

(3)show tables;
显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。

四、mysql的数据类型
整型 、浮点型、定点型、字符串、二进制数据、日期时间类型、

数据类型的属性
这里写图片描述

原创粉丝点击