前言
环境是Linux ubuntu 15.10下的MySQL5.6。
MySQL基本操作
先命令行输入: mysql -u '用户名' -p
,然后输入该用户名对应的密码,进入mysql。
|
|
无论是在命令行还是在后续的C++程序中,所有操作记得在末尾别漏了;
!所有操作记得在末尾别漏了;
!所有操作记得在末尾别漏了;
!
显示数据库
show databases;
选择数据库
use 数据库名;
显示数据库中的表
show tables;
显示数据表结构
describe 表名;
显示表中记录
select * from 表名;
建立数据库
create database 数据库名;
建立数据表
create table 表名 (字段设定列表);
一个简单的例子:
|
|
注意:
auto_increment 自增, id是自增的,且删除记录后,id不会减。
primary key 主键
foreign key 外键
增加记录
insert into name(uname,gender,birthday) valuse('Alice', 'F', '1991-06-08');
修改记录
update name set birthday = '1993-01-01' where uname = 'Alice';
删除记录
delete from 表名 where 条件;
删除表
drop table 表名;
删除库
drop database 数据库名;
备份数据库
mysqldump -u root -p --opt 数据库名>备份名; //进入到库目录
恢复
mysql -u root -p 数据库名<备份名; //恢复时数据库必须存在,可以为空数据库
数据库授权
grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
例1:增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to user001@"%" Identified by "123456";
例2: 增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机)
这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。
首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on test.* to user002@"localhost" Identified by "123456";
C++程序与MySQL的连接
环境是Linux下的ubuntu 15.10。
安装MySQL开发包
sudo apt-get install libmysqlclient-dev
安装完后再新建的C/C++程序中 include 即可。
由于我的mysql.h文件在/usr/include/mysql/mysql.h 下,所以引用的时候如下:
#include <mysql/mysql.h>
关于mysql.h里的一些API的使用,我们可以查看MySQL官方文档