####前言:
对那些刚刚入门c的同学,但是想在平时或者期末设计上用上数据库的同学的一点牵引。
###1、配置数据库
这里就不详细讲解了,可以通过度一下,然后下一个mysql,设定好相关的用户名和密码就可以使用数据库了。
###2、通过c连接数据库
连接数据库
MYSQL *conn;
if((conn=mysql_init((MYSQL*)0))&&mysql_options(conn,MYSQL_SET_CHARSET_NAME,"gbk")==0)&&mysql_real_connect(conn,host,username,mysqlpassword,TargetDatabase,port,NULL,0)))
- Host:主机(这里用的是本地,也就是localhost,可以使用127.0.0.1)。
- Username:用户名(默认用户名root)。
- Mysqlpassword:数据库密码(默认为空)。
- TargetDatabase:使用的数据库名称(需要的数据库存放在哪个数据库就使用哪个数据库)。
###3、通过c从数据库读出数据
从数据库读取数据:
- 第12行 :核心代码: mysql_query(con,“select * from manager_information”);(下面进行仔细讲解与实例)。
- 第13、14行:固定使用。
- 第15行:应该是他这个表主要有3个元素,分别为 id 、name 、password。 row为一个接收数据库信息的数组,row[0],数据首个元素,也就是id。将row[0]赋值给manger->id,为什么会减去 ‘0’,我猜测应该是把字符型转化为整型。
- 第16、17行:将row[1],row[2] (数据库中的name,password)拷贝给manager->name和manager->password,这一步也就是接收数据库信息的一种方法。
select * from manager_information
: 从manager_information这个名字的表中查询所有数据。
基本结构: select * from 表名 ---- * 指的所有。
####例1:
如果一个表(表名为:inform)里存储了id,name , age , sex 四样属性。
字段 | 类型 |
---|---|
id | varchar |
name | varchar |
age | int |
sex | varchar |
具体数据: | |
id | name |
– | :– |
001 | 张三 |
002 | 李四 |
003 | 王五 |
004 | 赵六 |
#####1、查询表中所有信息 | |
Select * from inform |
#####2、查询表中所有人的姓名
Select name from inform
#####3、查询id=”003”的人的所有信息
Select * from inform where id=”003”
(where id=”003”意思就是找这个表中ID为003的信息)
#####4、查询id=”001”的姓名
Select name from inform where id=”003”
##4、通过c写入数据库数据
写入数据库数据(用语言写入数据到数据库):
- 核心代码:sprintf(text,“update manager_information set password = ‘%s’”,manager->password);
update manager_information set password = ‘%s’",manager->password - Update修改的意思,与set套用(相当于select 与from 套用一个原理)
意思是将manager_information这个表中的password修改为manager->password。
想了解c连接数据库原理的更多内容可参考:
http://www.169it.com/tech-qa-linux/article-8284194177519029001.html