MySQL基础学习之基本命令行、c++ API
基本命令行
启动MySql:sudo service mysql start
- 使用root登录:mysql -u 用户名 -p (-p表示密码登录)
- 查看帮助:mysql> HELP 命令名;
- 查看用户权限:mysql> SHOW GRANTS;
- 注释:--单行注释 /*多行注释*/
- 取消正在输入的命令:\c
- 查看当前含有的数据库:SHOW DATABASES;
- 连接数据库:USE 数据库名;
- 查看当前数据库中含有的表:SHOW TABLES;
- 显示表属性:SHOW COLUMNS FROM 表名; 或 DESCRIBE 表名;
- 显示错误信息:SHOW ERRORS; 或 SHOW WARNINGS;
- 退出数据库:EXIT/QUIT;
- 新建数据库:CREATE DATABASE 数据库名;
- 新建表: create table 表名(name varchar(255),num int(10) );
- 查询数据表:select * from 表名;
c++ API
头文件#include "mysql.h" 配置.pro:LIBS += -lmysqlclient 常用函数
mysql_init() 获取或初始化MYSQL结构
mysql_real_connect() 连接到MySQL服务器。
mysql_query() 执行指定为“以Null终结的字符串”的SQL查询。
mysql_use_result() 初始化逐行的结果集检索。
mysql_field_count() 返回上次执行语句的结果集的列数。
mysql_fetch_row() 从结果集中获取下一行
mysql_num_fields() 返回结果集中的字段数
使用步骤
MYSQL iMySQL;//定义
mysql_init(&iMySQL);//初始化连接
piMySQLConnection = mysql_real_connect(&iMySQL, pHostname, pUser, pPassword, pDBName, 0, 0, 0);//建立连接
mysql_query();//执行查询语句
mysql_close(piMySQLConnection);//断开连接
常见错误:
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
原因分析:数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是匿名登录的
解决办法:在/etc/mysql/my.cnf的[mysqld]字段下加入skip-grant-tables,然后重启mysql
参考
MySql教程
MySql基本命令
下一篇: oracle常用sql语句