第一部分c语言操作数据库
1、连接
MYSQL *mysql
mysql=mysql_init(NULL);//初始化一下
mysql_real_connect(mysql,HOST,USER,PASSWD,TESTDB,0,NULL,0)
①HOST是主机名
②user是ID
③passwd是密码
④TESTDB是数据库的名称
2、信息错误处理
mysql_error(mysql)
3、对数据库进行操作(具体字符串在第二部分)
mysql_real_query(mysql,query,strlen(query))
query是字符串
int result=mysql_affected_rows(mysql)//获取受到影响的行
如果返回值为0,结果就是没有受到影响,数据库中没有想获取的数据
4、储存数据结果和释放空间
MYSQL_RES res=mysql_store_result(mysql)
mysql_free_result(res)//必须执行才可以进行后续的操作,不然会出错
5、获取行和列
mysql_fetch_row(res)//行
原型:typedef char ** MYSQL_ROW;
MYSQL_ROW row
while(row=mysql_fetch_row(res))//row这个不能放在外面
在while循环中,每一次mysql_fetch_row()都获得当前行数据,并赋值给数组,然后自动滑向下一行
mysql_num_fields(res)//列数
完整例子
while(row=mysql_fetch_row(res)
{
for(t=0;t<mysql_num_fields(res);t++)
printf("%s\n",row[t]);//row就是个数组
}
6、创建数据库
mysql_create_db(mysql,name)
name是数据库名称
7、选择数据库
mysql_select_db(mysql,name)
8、关闭数据库
mysql_close(mysql)】
9、数据库乱码可以用
mysql_query(mysql, “SET NAMES UTF8”);
第二部分数据库操作(记得加分号)
1、创建表
create table 名称(
名称 类型,。。。。
);
类型 int
varchar(20)//20个字符,使用几个字节就占几个字节
char(20)就是占20个字节
text是文本类型,可以占到很大空间
timestamp//是按存入的数据时间来自动记录
2、选择表
select 名称 from 表 ;//具体选择
select * from 表 ;//特定选择
3、修改表
update 表 set 列=新值,列=新值 where 条件(加and可以实现多个条件);
4、删除表中数据
delete from 表 where 条件;
5、在表中追加列
alter table 表 add 列 类型;
6、修改列
alter table 表 change 旧列 新列;
7、表中写数据
insert into 表 values (“数值”,”数值”);//必须按顺序
8、删除列
alter table 表 drop 列
9、重命名表
alter table 表 rename 新名字
10、删除整张表
drop table 表
11、查看表的具体名称和列名字
desc 表名
注意:在linux下gcc要加-lmysqlclient