安装此软件开发包;
点击(此处)折叠或打开
编译的时候 gcc xx.c -o xx -L /usr/include/mysql -l mysqlclient
全部博文(2759)
分类: Mysql/postgreSQL
2013-07-20 00:12:17
原文地址:使用mysql的随笔 作者:不黑的夜
防止登录mysql后读出的数据乱码,可在mysql(5.5以前的版本)的配置文件/etc/mysql/my.cnf文件中[client]下添加: default-character-set=utf8
安装此软件开发包;
点击(此处)折叠或打开
在 [mysqld]下添加: default-character-s; 在mysql(5.5的版本以及以后版本)的配置文件/etc/mysql/my.cnf文件中加入[
mysqld]下添加的应该为:
character-set-server=utf8 collation-server=utf8_general_ci; 5.5以后的版本对字符编码方式的修改,与原来在[mysqld]下的修改已经发生了变化,
如果在5.5版本中用default-character-set=utf8,来修改的话,你的mysql启动时显示
start: Job failed to start;
设置字符编码这条语句要加在你创建数据库之前,这样就会改变整个数据库
的编码。 在c程序中调用mysql API来读取表中的汉字时会乱码,所以,要在执行mysql_real_query(MYSQL *mysql, const char *query, unsigned long length)语句之前加
上 mysql_query(&mysql, “set names 'utf8'”);
比如将以个a.txt文本文件添加到mysql的一个表test中,首先将a.txt拷贝到与你创建
的数据库同一目录下(/var/lib/mysql/),并且改变其权限(必须改为满权限,不然会出现文件无法找到的错误),然后,进入mysql,再执行 load data infile '/var/lib/mysql/a.txt' into table test fields terminated by '#'; 这样就可以导入数据了。
接下来要说的load命令是怎样来判断你的多少个数据为一个元组数据?字段之间的分隔和记录(行)之间的分隔默认是\t(即Tab)和\n。但可以改变,如:
FIELDS TERMINATED BY ',' --字段用 , 进行分隔 ;
FIELDS TERMINATED BY ' ' --记录用空格 进行分隔
;
FIELDS TERMINATED BY ‘#’--记录用#进行分隔
;
注意:当有多个分隔符连在一起时,那么除了第一个分隔符被识别为分隔符外,后面的分隔符将被置为0或NULL,比如,(3#4###).它导入数据库后,是3 4 0 0(表中的字符属性为int);另外要注意其它操作系统的换行符与windows可能不相同。
清空mysql表的内容 truncate table table_name;
ubuntu 找不到mysql.h:
编译的时候 gcc xx.c -o xx -L /usr/include/mysql -l mysqlclient