使用 mysql> SHOW INDEX FROM mytable FROM mydb; 出现ORA-00900: invalid SQL statement

作者&投稿:呼施 (若有异议请与网页底部的电邮联系)
如何使用VC开发MySQL~

我也是找的你看看有用没。。。。。
一、MySQL的安装
可以考虑安装mysql-5.0.41-win32(可到http://www.newhua.com/soft/3573.htm处下载),当然你有更新的版本更好,注意选择“完全安装”(只有这样才会安装VC编译时需要的头文件等)。安装后期会进行服务器配置,你可以设置你的服务器登陆密码,也可以不设置密码。

二、VC6.0的设置

(1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories
for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。(我的是D:\Program
Files\MySQL\MySQL Server 5.0\include)。

(2)在上面说到的“Show directories for:”下拉列表中选中“Library
files”,然后添加你本地安装MySQL的Lib目录路径。Lib目录下还有debug和opt两个目录,建议选debug。(我的是D:\Program
Files\MySQL\MySQL Server 5.0\lib\debug)。

(3)在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。

(4)在stdafx.h里面添加如下的内容:


#include "mysql.h"
#include "winsock.h" // 如果编译出错,则把该行放到#include "mysql.h"之前
#pragma comment(lib,"libmySQL.lib") // 如果在附加依赖项里已增加,则就不要添加了


(5)建议将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下。
三、数据库、表的创建
打开“开始->所有程序->MySQL->MySQL Server 5.0->MySQL Command Line
Client.exe”,如果没有设置密码就直接按回车,会提示服务器启动成功。
mysql> SHOW DATABASES;//显示所有的数据库,注意一定要 敲“;”后再按回车
mysql> CREATE DATABASE mydb;//创建数据库mydb
mysql> USE mydb;//选择你所创建的数据库mydb
mysql> SHOW TABLES; //显示数据库中的表
mysql> CREATE TABLE mytable (username VARCHAR(100), visitelist VARCHAR(200), remark VARCHAR(200));//创建一个表mytable: 用户名;访问列表;备注
mysql> DESCRIBE mytable;//显示表的结构


四、VC编程


MYSQL mysql; //数据库连接句柄
mysql_init (&mysql);
if(!mysql_real_connect(&mysql,"localhost","root",NULL,"mydb",3306,NULL,0)) {//mydb为你所创建的数据库,3306为端口号,可自行设定
AfxMessageBox("数据库连接失败");
return FALSE;
}


(1)实现添加 功能


CString strUsername,strList,strRemark,strSQL;
strSQL.Format("insert into mytable(username,visitelist,remark) values(\'%s\',\'%s\',\'%s\')", strUsername,strList,strRemark);//注意一定要写在一行,而且必须要有\'\'
if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0){
AfxMessageBox("增添失败");
}
(2)实现修改功能



CString strUsername,strList,strRemark,strSQL,str_PreName;//str_PreName用于记录想要修改的行,详情请看源代码
strSQL.Format("update mytable set username=\'%s\',visitelist=\'%s\', remark=\'%s\' where username=\'%s\'",strUsername,strList,strRemark,str_PreName);
if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0){
AfxMessageBox("修改失败");
}


(3)实现删除功能


CString strSQL;
strSQL.Format("delete from mytable where username=\'%s\'",str_PreName);//必须要有\'\'
if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0){
AfxMessageBox("删除失败");
}


(4)读取表格内容到CListCtrl控件m_list


m_list.DeleteAllItems();
char *ch_query;
ch_query="select * from mytable";
if(mysql_real_query(&mysql,ch_query,(UINT)strlen(ch_query))!=0){
AfxMessageBox("数据库中表格出错");
}
CString str;
MYSQL_RES *result;
MYSQL_ROW row;
if(!(result=mysql_use_result(&mysql))){
AfxMessageBox("读取数据集失败");
}
int i=0;
while(row=mysql_fetch_row(result)){
str.Format("%s",row[0]);
m_list.InsertItem(i,str);
str.Format("%s",row[1]);
m_list.SetItemText(i,1,str);
str.Format("%s",row[2]);
m_list.SetItemText(i,2,str);
i++;
}
mysql_free_result(result);


(5)关闭数据库


mysql_close(&mysql);//最好写到OnDestroy()函数中


五、结束语

本文在几位网友的工作基础上详细介绍了MySQL的安装、调试,以及如何用VC进行编译,实现数据的“添加、修改、删除”等功能,可以为在MySQL的VC编程中感到困惑的朋友们提供一点帮助,在此向几位网友表示感谢!

一.MYSQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->
PATH=“;path\mysql\bin;”其中path为MYSQL的安装路径。
二.简单的介绍一下命令行进入MYSQL的方法:
1.C:\>mysql -h hostname -u username -p
按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root。
进入命令行后可以直接操作MYSQL了。
2.简单介绍一下MYSQL命令:
mysql->CREATE DATABASE dbname;//创建数据库
mysql->CREATE TABLE tablename;//创建表
mysql->SHOW DATABASES;//显示数据库信息,有那些可用的数据库。
mysql->USE dbname;//选择数据库
mysql->SHOW TABLES;//显示表信息,有那些可用的表
mysql->DESCRIBE tablename;//显示创建的表的信息
三.从数据库导出数据库文件:
1.将数据库mydb导出到e:\mysql\mydb.sql文件中:
打开开始->运行->输入cmd 进入命令行模式
c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
2.将数据库mydb中的mytable导出到e:\mysql\mytable.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb mytable>e:\mysql\mytable.sql
3.将数据库mydb的结构导出到e:\mysql\mydb_stru.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql
四.从外部文件导入数据到数据库中:
从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
然后输入密码,就OK了。
五.下面谈一下关于导入文件大小限制问题的解决:
默认情况下:mysql 对导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:
1.在php.ini中修改相关参数:
影响mysql导入文件大小的参数有三个:
memory_limit=128M,upload_max_filesize=2M,post_max_size=8M
修改upload_max_filesize=200 M 这里修改满足你需要的大小,
可以同时修改其他两项memory_limit=250M post_max_size=200M
这样就可以导入200M以下的.sql文件了。

oracle 没有show index from tab的这个写法,这个在mysql数据库中可以使用,在oracle中不行,在oracle中查询索引脚本如下:

select * from user_indexes where table_name='表名';
select * from user_ind_columns  where index_name='索引名';


select的格式为:
select 列名1,列名2...... from 表名
show的格式为:
show 参数 where 条件。


铁岭市18727928217: 如何修改MySQL字符集 -
夹应氨咖: (1)最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值, 如 default-character-set = utf8 character_set_server = utf8 修改完后,重启mysql的服务,service mysql restart 使用 mysql> SHOW VARIABLES LIKE 'character%';查看,发现...

铁岭市18727928217: Mysql常用命令 -
夹应氨咖: Mysql常用命令行大全 机 第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了...

铁岭市18727928217: 请教高手:我用delphi程序备份MySql数据库出错!
夹应氨咖: 备份数据库是不能靠拷贝的方法,因为一但数据库发生损坏,拷贝他的文件也是没有用!!下面介绍一种用DOS命令的方法备份和恢复数据库: 一、备份: 建立新的空白表= 清空表=初始化 注意大小写:mysql&gt; SHOW DATABASES;//命令...

铁岭市18727928217: LINUX下的MYSQL怎么开启INNODB数据支持?
夹应氨咖: 首先,你安装mysql已经支持innodb引擎才行,可以通过以下命令查看: mysql&gt; show engines; 若结果中列Engine有innodb的记录,且列Support为"YES"则表示支持. 若列Engine有innodb的记录,但且列Support为"NO",则说明你参数...

铁岭市18727928217: 如何使用MySQL,包括建表,设计表等
夹应氨咖: 可以用mysql官方提供的可视工具:mysql-gui-tools. 如果不介意用盗版,mysql-front确实比官方的那个更好用. 你的mysql-front连接里,注册 - 数据库这个给的不对.应该是把服务器、端口、用户、密码填好后,点浏览选择mysql里有哪些database,而不是指定你的mysql安装路径.

铁岭市18727928217: mysql 利用show语句
夹应氨咖: 你命令多了一个字符 你要的是show DATABASES 然而你输入的是\show DATABASES

铁岭市18727928217: mysql show可以和select连用吗 -
夹应氨咖: 1.进入mysql 命令:mysql -p -usaladin (-p 指密码 -u指用户名) 2.进入后 看看数据库 show databases; 3.选择自己需要使用的数据库 use databasename; (数据库名字) 4.查看数据里的表格 show tables; 5.select数据 select * from tables_name;(表格名字); 6.如果执行不成功,查看下自己是否有权限 show grants for 'saladin'@localhost;

铁岭市18727928217: 查看mysql运行状态的命令是什么?
夹应氨咖: 使用show status命令 mysql会给出一个很长的列表 含义如下: aborted_clients 客户端非法中断连接次数 aborted_connects 连接mysql失败次数 com_xxx xxx命令执行次数,有很多条 connections 连接mysql的数量 Created_tmp_disk_tables 在磁盘...

铁岭市18727928217: ..为什么我的LINUX系统上面装的MYSQL不能用mysqlshow -
夹应氨咖: windows版的mysql的指令,linux版的mysql都支持.如果你的系统却是找不到mysqlshow,那么有3个可能: 1)你的账户没有权限运行mysqlshow(你得换成root组的用户才能运行),试试运行“sudo mysqlshow -u root -p”,然后输入两遍密码.第一遍是你系统root账户的密码(某些版本的linux是输入你登陆的账户的密码.然后才是mysql的登陆密码. 2)你的系统安装的mysql不完全.重新安装mysql. 3)webmin没有权限调用mysqlshow,你把webmin加入到mysql所在的用户组.如果你想查看数据库的信息,还可以用shell登陆mysql然后用show来查看.

铁岭市18727928217: 如何在一台Windows主机上运行多个MySQL服务 -
夹应氨咖: 1、首先要在本地建立两个mysql服务(参考这里),指定不同的端口.我这里一个主(3306),一个从(3307).2、然后修改主配置文件:[mysqld] server-id = 1 binlog-do-db=test #要同步的数据库#binlog-ignore-db=mysql #不同步的数据库,...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网