logo资料库

vs2010连接mysql数据库方法.docx

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
Vs2010 连接 Mysql 数据库方法 下载 MySQL 5.5.13 正式版:http://www.xiazaiba.com/html/361.html ------------------------------------------- 操作系统:winxp-32bit 数据库:MySQL Server 5.5 (安装路径:D:\Program Files\MySQL\MySQL Server 5.5) IDE: Microsoft Visual Studio 2010 untimate/Professional (以上东西都是完整安装的) ------------------------------------------- 一、VC 设置 1、新建一个工程,随便写一个 helloworld,目的是就是让工程下的“debug”文件夹出现 2、把 D:\Program Files\MySQL\MySQL Server 5.5\lib 下面的 libmysql.dll 复制到工程的 debug 文件夹里面 3、接下来要设置一些引用文件的环境变量,首先,点击项目->属性->vc++目录。 然后“include 目录”那把“D:\Program Files\MySQL\MySQL Server 5.5\include”给加 进来 再然后“lib 目录”那里把“D:\Program Files\MySQL\MySQL Server 5.5\lib”也一起加 进来 VC6.0 设置: (1)打开 VC6.0 工具栏 Tools 菜单下的 Options 选项,在 Directories 的标签页中右边的 “Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加 你本地安装 MySQL 的 include 目录路径。(我的是 D:\Program Files\MySQL\MySQL Server 5.5\include)。 (2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后 添加你本地安装 MySQL 的 Lib 目录路径。Lib 目录下有 debug 目录,选 debug。(我的是 D:\Program Files\MySQL\MySQL Server 5.5\lib\debug)。 4、然后在项目->属性窗口下点击:连接器->输入->附加依赖项,把"libmysql.lib"写进去 VC6.0 设置:在“Project settings->Link:Object/library modules”里面添加 “libmysql.lib”。 使用 VC++编译时再添加以下项: 5、在 stdafx.h 里面添加如下的内容: #include "mysql.h" #include "winsock.h" // 如果编译出错,则把该行放到#include "mysql.h"之前#pragma comment(lib,"libmySQL.lib") // 如果在附加依赖项里已增加,则就不要添加了 二、数据库的相关操作 1、打开“开始->所有程序->MySQL->MySQL Server 5.5->MySQL Command Line Client.exe”, 如果有密码就输入密码,没有设置密码就直接按回车,会提示服务器启动成功。
2、显示所有的数据库 mysql> show databases;注意一定要 敲“;”后再按回车 3、创建数据库 mydb mysql> create database mydb; 4、选择你所创建的数据库 mydb mysql> use mydb; 5、显示数据库中的表 mysql> show tables; 因为是新创建的数据库,所以为空 6、创建一个表 mysql> create table tettable (id int(3) auto_increment not null primary key,time datetime,name char(10) not null,address varchar(20),year date,s1 char(11) ,s2 int default ‘1’ ) 注:在建表中: (1)将 ID 设为长度为 3 的数字字段:int(3)并让它每个记录自动加一:auto_increment 并 不能为空:not null,而且让他成为主字段 primary key。 (2)将 time 设为日期时间字段。 (3)将 NAME 设为长度为 10 的字符字段。并不能为空:not null (4)将 ADDRESS 设为长度 20 的字符字段,而且缺省值为深圳。varchar 和 char 有什么区 别呢,只有等以后的文章再说了。 (4)将 YEAR 设为日期字段。 (5)将 S1 设为长度为 11 的字符字段
(6)将 S2 设为数字字段 int,而且缺省值为 1 7、显示表的结构 mysql> describe testtable; 8、实现添加数据到表 mysql> insert into testtable values('1','2010-10-08', 'bj','深圳一中 ','2010-10-08','MySQLTest',20); mysql> insert into testtable values('2','2010-10-08', 'jj','深圳二中 ','2010-10-08','MySQLTest2',20); 9、显示表中的记录 mysql> select * from testtable; select * from testtable where name = “bj”; mysql> 10、实现修改功能 mysql> mysql> select * from testtable; update testtable set address = "桃园县一中" where name = "jj"; 11、实现删除功能 mysql> delete from testtable where name = "jj";
mysql> delete from testtable where id>4; mysql> delete from testtable where id>4 and id<9; 12、删库和删表: drop database 库名; drop table 表名; 13、将表中记录清空: delete from 表名; 14、将文本数据转到数据库中 1、文本数据应符合的格式:字段数据之间用 tab 键隔开,null 值用\n 来代替. 例: 3 1976-10-10 rose 深圳二中 1976-10-10 mysql1 22 4 1976-10-10 mike 深圳一中 1975-12-23 mysql2 24 2、数据传入命令 load data local infile "文件名" into table 表名; 注意:你最好将文件复制到\mysql\bin 目录下,并且要先用 use 命令打表所在的库 。 15、备份数据库:(命令在 DOS 的\mysql\bin 目录下执行) mysqldump --opt 数据库或表名 -u root -p 密码 > F:\mydb.bbb mysqldump --opt mydb -u root -p111 > F:\mydb.sql 注释:将数据库 mydb 备份到 F 盘 mydb.bbb 文件,mydb.sql 是一个文本文件,文件名任取, 打开看看你会有新发现。-u 后空格,指定用户名,必需,-p 指定密码,注意后面直接跟密 码不能空格,如果不填密码,再在后面输入即可。 16、导入数据库 从 e:\MySQL\mydb2.sql 中将文件中的 SQL 语句导入数据库中: 1.从命令行进入 MySQL,然后用命令 CREATE DATABASE mydb2;创建数据库 mydb2。 2.退出 MySQL 可以输入命令 exit;或者 quit; 3.在 CMD 中输入下列命令: c:\>MySQL -h localhost -u root -p mydb2 < e:\MySQL\mydb2.sql 17、MySql 密码修改 格式:mysqladmin -u 用户名 -p 旧密码 password 新密码 1、给 root 加个密码 ab12。首先在 DOS 下进入目录 mysql\bin,然后键入以下命令 mysqladmin -u root -password ab12 注:因为开始时 root 没有密码,所以-p 旧密码一项就可以省略了。 2、再将 root 的密码改为 djg345。 mysqladmin -u root -pab12 password djg345 (注意:和上面不同,下面的因为是 MYSQL 环境中的命令,所以后面都带一个分号作为命令
结束符) 3、命令行修改 root 密码: >use mysql >update user set password=password(”djg345”) where user=”root”; >flush privileges; 重新杀 MySQL ,用正常方法启动 MySQL 。 4、显示当前的 user: mysql> SELECT USER(); MYSQL 增加用户 命令方式的.注意每行后边都跟个; 表示一个命令语句结束. 格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 例 1、增加一个用户 user 密码为 1234,让他可以在任何主机上登录,并对所有数据库有查 询、插入、修改、删除的权限。首先用以 root 用户连入 MYSQL,然后键入以下命令: grant select,insert,update,delete on *.* to user@"%" identified by "1234"; 但例 1 增加的用户是十分危险的,你想如某个人知道 test1 的密码,那么他就可以在 internet 上的任何一台电脑上登录你的 mysql 数据库并对你的数据可以为所欲为了,解决 办法见例 2。 例 2、增加一个用户 user 密码为 1234,让他只可以在 localhost 上登录,并可以对数据库 mydb 进行查询、插入、修改、删除的操作 (localhost 指本地主机,即 MYSQL 数据库所在 的那台主机),这样用户即使用知道 user 的密码,他也无法从 internet 上直接访问数据 库, 只能通过 MYSQL 主机上的 web 页来访问了。 grant select,insert,update,delete on *.* to grant select,insert,update,delete on mydb.* to "1234"; identified by "1234"; user@localhost user@localhost identified by 如果你不想 test2 有密码,可以再打一个命令将密码消掉。 grant select,insert,update,delete on *.* to grant select,insert,update,delete on mydb.* to user@localhost user@localhost identified by ""; identified by ""; 18、关于排序与选择 1)em_site_access 表信息如下:
2)按字段 USER_ID 递增排序 select * from em_site_access order by USER_ID; 递增排序 3)按字段 USER_ID 递减排序,在后面添加 desc 就行了 select * from em_site_access order by USER_ID desc; 递减排序 4)按字段 USER_ID,SITE_CODE 递减排序 select * from em_site_access order by USER_ID desc,SITE_CODE desc; 5)选择字段值为 SITE_CODE=00060 项并按字段 USER_ID 递增排序 select * from em_site_access where SITE_CODE=00060 order by USER_ID; 6)选择字段值同时满足 SITE_CODE=00060 和 USER_ID=922 项 select * from em_site_access where SITE_CODE=00060 and USER_ID=922;
1 linux 平台及 windows 平台 mysql 重启方法 Linux 下重启 MySQL 的正确方法: 1.启动:/etc/init.d/mysqld start 2.停止:/etc/init.d/mysqld stop 3.重启:/etc/init.d/mysqld restart 启动:# service mysqld start 停止:# service mysqld stop 重启:# service mysqld restart Windows 1.点击“开始”->“运行”(快捷键 Win+R)。 2.启动:输入 net stop mysql 3.停止:输入 net start mysql * Windows 下不能直接重启(restart),只能先停止,再启动。 后记:其实 MYSQL 的对数据库的操作与其它的 SQL 类数据库大同小异,最好找本将 SQL 的书 看看。在这里只介绍一些基本的。最好的 MYSQL 教程还是"晏子"译的"MYSQL 中文参考手册" 不仅免费,每个相关网站都有下载,而且它是最权威的。(down load here) 三、C++编程 #include #include #include #include #include int main() { ">">附件 //connectionparams char *host = "localhost"; char *user = "root"; char *pass = "111";//你的 mysql 服务器密码 char *db = "MySql"; unsigned int port = 3306; //server port MYSQL *sock; MYSQL_RES *res; MYSQL_FIELD * fd; MYSQL_ROW row; char szSqlText[500]="";
int i; int tcreate=0; sock=mysql_init(0); if(sock && mysql_real_connect(sock,host,user,pass,db,0,NULL,0)) { std::cout<<"connect mysql succeed!"<
分享到:
收藏