编写Excel VBA工具,连接并 *** 作Mysql 数据库。
系统环境:
OS:Win7 64位 英文版
Office 2010 32位 英文版
1、VBA连接MySql前的准备
Tools--->References..---->引用
勾选Microsoft ActiveX Data Objects 2.8 Librarys 和Microsoft ActiveX Data Objects Recordset 2.8 Librarys
2、安装Mysql ODBC连接服务
下载连接:https://dev.mysql.com/downloads/connector/odbc
注意:这里使用32位的版本
下载上图中Windows(x86,32-bit),Zip Archive版本,在测试中,使用64位的版本无法连接到Mysql
把下载上述文件拷贝放到资源管理器里,放到合适位置,解压,点击里面的install.bat批处理文件。
从“控制面板”--->“管理工具”---->ODBC,打开以后,从这个里面无法看到Mysql的驱动,实际上使用的是下面32位的ODBC驱动
C:\Windows\SysWOW64\文件夹下的odbcca32.exe
3.连接示例
Sub TestConnectTodb() Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.ConnectionString = "Driver={MySQL ODBC 5.3 Unicode Driver}Server=localhostPort=3306Database=db_hptmsUid=rootPwd=123456OPTION=3" conn.Open rs.Open "select fdEmpNo,fdEmpName from tbUser", conn With ThisWorkbook.Worksheets("MySqlData") .Visible = True .Range("a1:b1").Value = Array("EmpNo", "EmpName") .Range("A2").CopyFromRecordset rs .Activate End With rs.Close: Set rs = Nothing conn.Close: Set conn = Nothing MsgBox "处理完毕", vbOKOnly, "提示信息"End Sub
上述示例经过测试,可以正常连接到Mysql数据库,这里注意使用的ODBC连接的版本是32位,在测试中,使用64位的,始终无法正常打开连接。
修改mysql数据库的用户名和密码
更改密码
1、mysql -u root -p
2、Enter password:***
3、mysql>use mysql #选择数据库
4、Database changed
5、mysql>UPDATE user SET password=PASSWORD("新密码") WHERE user='你的用户名'
6、mysql>FLUSH PRIVILEGES
7、mysql>quit
更改用户名:
1、mysql -u root -p
2、Enter password:***
3、mysql>use mysql #选择数据库
4、Database changed
5、mysql>update user set user="新用户名" where user="root"#将用户名为root的改为新用户名
6、mysql>flush privileges#刷新权限
7、mysql> exit
扩展资料:
mysql常用命令:
安装(基于centos)
yum -y install mariadb mariadb-server #centos7版本
yum -y install mysql mysql-server #centos7以下版本
启动
service mysqld start #开启 centos7以下版本
chkconfig mysqld on #设置开机自启
OR
systemctl start mariadb #centos7
systemctl enable mariadb
设置密码
1 、mysqladmin -u root -p123 password '1234' #修改root用户密码
2、进入mysql库修改user表
mysql>use mysql
mysql>update user set password=password('你的密码') where user='root'
mysql>flush privileges
登录
mysql #本地登录,默认用户root,空密码,用户为root@127.0.0.1
mysql -uroot -p1234 #本地登录,指定用户名和密码,用户为root@127.0.0.1
mysql -uroot P端口号 -h 192.168.31.95 -p密码 #远程登录,用户为root@192.168.31.95
查看
ps aux |grep mysqld #查看进程
netstat -an |grep 3306 #查看端口
看你需要用什么方式导出,如果是直连数据库,可以使用数据库管理工具导出,如楼下那位兄台的navicat,也可以用mysql官方的管理工具workbench
打开导出界面后,下一步,选择csv格式,导出后excel就能打开了
如果你需要在程序代码中导出,需要找到对应代码的excel处理库。
如php 的 phpExcel( 最新版已更名为 phpoffice/phpspreadsheet) 要根据你当前服务器的php版本选择。
然后根据excel库的api编写代码导出
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)