C實現MySQL數據庫操作
兩個月前,也就是9月份,心血來潮在windows下實現了用C連接數據庫,當時很是有把linux下一并給實現了。但是沒有想得那么簡單。這個任務一直推遲到了現在才完成,究其原因:1.我直接用eclipse開發工具,對于環境變量的設置不是很熟。2.linux系統庫文件結構不熟悉,對于mysql提供的庫文件沒有放對位置。3.當時比較煩躁,沒有沉下心來好好的學習。
兩個月后的今天終于不經意的弄好了,雖然不是什么大的突破,但是對于一個初學C語言的人來說,這可是一個突破。代碼如下:#include "include/mysql.h"
#include "include/errmsg.h"
#include
/**
* Define the QUERY STATUS
* */
#define QUERY_SUCCESS 1
int main(int argc, char* argv[])
{
MYSQL mysql;
MYSQL_ROW row;
MYSQL_FIELD *field;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gb2312");
if(mysql_real_connect(&mysql,"localhost","root","root","test",3306,0,0))
{
mysql_select_db(&mysql,"test");
//insert
mysql_query(&mysql,"insert into ids values(2);");
//query
mysql_query(&mysql,"select id from ids");
MYSQL_RES* mysql_res = mysql_store_result(&mysql);
while((row = mysql_fetch_row(mysql_res)) != NULL){
for(unsigned int j = 0; j < mysql_num_fields(mysql_res); j++){
field = mysql_fetch_field_direct(mysql_res, j);
printf("%s %s ",field->table,field->name);
}
}
//update
mysql_query(&mysql,"update ids set id = 123");
//delete
mysql_query(&mysql,"delete from ids where id = 1");
return QUERY_SUCCESS;
}
else
{
int err = mysql_errno(&mysql);
printf("錯誤:%d",err);
}
mysql_close(&mysql);
return 0;
}對于
其實在linux和windows下mysql的操作是一樣的,只是mysql的庫文件放置的位置不同而已。
在linux下把libmysql.so.16拷貝到/usr/lib目錄下,一切正常。別忘了開mysql數據庫服務。
相關文檔:
如果只是一個數據庫的話,我們一般習慣這樣寫:mysql_select_db("guestbook");
mysql_query('select * from users');
但是如果是連接多個mysql,有可能出現同名的數據庫,或者數據庫中出現同名的表,所以就必須用完整的形式了,如下代碼:
$link1 = mysql_connect('localhost1','root','root');
mysql ......
查詢及刪除重復記錄的方法
(一)
1、查找表中多余的重復記錄,重復記錄是根據單個字段(peopleId)來判斷
select * from people
where peopleId in (select? peopleId? from? people? group? by? peopleId? having? count(peopleId) > 1)
2、刪除表中多余的重復記錄� ......
共3個文件
IncDB.php數據庫連接
index.php首頁
InsetToDB.php數據庫操作
數據庫lguestbook里面建表
CREATE?TABLE?`intd`?(
`id`?int(11)?NOT?NULL?auto_increment,
`name`?varchar(255)?character?set?utf8?collate?utf8_bin?N ......
添加字段:
MYSQL
alter table tb add col2 varchar(10)
MSSQL2000
alter table tb add col2 varchar(10)
修改字段:
MYSQL
alter table tb modify col2 varchar(20)
MSSQL2000
alter table tb?alter column?col2 varchar(20)
刪除字段:
MYSQL
alter table tb drop column col ......
安裝后MYSQL5后,發現啟動出錯.
出錯代碼:1067
解決辦法如下:
刪除%windows%/my.ini
刪除其它地方的my.ini
在mysql安裝目錄下把my-small.ini復制為my.ini
在my.ini最后一行插入:
CODE:
[mysqld]
#設置basedir指向mysql的安裝路徑
basedir=C:\mysql-5.1.11-beta-win32
datadir=C:\mysql-5.1.11-beta-win32\dat ......