sql和c語言api實現建立資料庫,建立表等操作參考這兩篇部落格:
mysql資料庫的簡單用法
c語言操作mysql資料庫
在開始之前說一下,mysql_query()的返回值,成功為0,異常為非0,需要注意。1.增加一條資料
char str[
1024];
sprintf
(str,
"insert into student (name,money) values('%s','%d')"
,"mr zhang"
,100);
if(mysql_real_query
(con,str,
strlen
(str)))
(1)這張student表包含id,name,money,三項資料,這裡只加了兩項,另一項id是約束條件是主鍵,所以不新增也會自增,天劍兩項時候就要在表明後面加上(型別2,型別3),如果全部新增只要一一對應就可以了。
(2)這裡採用sprintf格式化輸入,就可以把變數插入,當然這裡任然插入的事普通串,比如可以這樣
sprintf(str,「insert into student (name,money) values(』%s』,』%d』)」,name1,cur_money);(name1和cur_money都是變數),不借助sprintf在my_sql_real()中是沒辦法加入變數的。
2.刪除一條資料
//刪除資料if(
mysql_query
(con,
"delete from student where id = 5"))
後面加上where id = 5就可以實現刪除表中的某一行。
3.修改一條資料
//修改資料if(
mysql_query
(con,
"update student set money = 200 where id = 5"))
與刪除類似,直接set + 修改物件(money = 200),再加指定行(where id = 5);
4.查詢一條資料
if
(mysql_query
(con,
"select *from student where id = 5"))
mysql_res *res =
mysql_store_result
(con);if
(res ==
null
)printf
("id不存在\n");
unsigned
int num_col =
mysql_num_fields
(result)
;printf
("表中一共有%d列\n"
,num_col)
; mysql_row row;
while
(row =
mysql_fetch_row
(res)
)}
獲取資料分三步:
(1)利用select獲得需要的資料,再利用store將結果儲存在res中。
(2)根據res獲得表的行和列
這裡注意行不是乙個整數而是乙個類似陣列,儲存的是字串(所以都用%s輸出),但是money是整數,簡單,用atoi()轉換一下就可以了.另外,my_sql_row每次返回一行,如果需要獲取全部行資料就要迴圈讀取了.
(3)綜上,類似陣列訪問就可以了,下標小於列數.
1.主鍵
主鍵:是用來唯一標示資料的,方便查詢,方便表之間的關聯,乙個表中的主鍵只能有乙個,就好比我們的身份證號.
資料庫的五個約束包括乙個,primary key,這個就是主鍵,建表的時候加上這個約束就可以了.
if
(mysql_query
(con,
"create table student(id int primary key auto_increment,name varchar(20),money int)"))
auto_increment表示自增的,即主鍵不能重賦相同的值,會報錯誤,如果不賦值,主鍵自增.
2.外來鍵
外來鍵:用來和其他表建立聯絡
最好在建立表的時候就設定好,編碼方式,比如這樣
create table author(name varchar(20),country varchar(20),age int)default character set utf8 collate utf8_general_ci;
嘗試插入中文字元:insert into author values(「張」,「中國」,45);
結果如下:
mysql> select *from author
-> ;
±-----±--------±-----+
| name | country | age |
±-----±--------±-----+
| 張 | 中國 | 45 |
±-----±--------±-----+
1 row in set (0.00 sec)
mysql增刪改查效果 mysql增刪改查
檢視所有資料庫 mysql show databases 建立乙個庫ghd並指定字符集為utp8 mysql create database ghd charset utf8 檢視mysql支援的字符集 mysql show char set 建立乙個表,並設定id為主鍵 create table ...
mysql增刪改查擴充套件 MySQL增刪改查
1 插入 insert 1 insert into 表名 values 值1 值2 例子 insert into t1 values zengsf 23 fengshao 22 2 insert into 表名 欄位1,values 值1 例子 insert into t1 name values ...
mysql建刪改查 MySQL增刪改查
登入mysql mysql u root p 密碼 建立使用者 mysql insert into mysql.user host,user,password values localhost test password 1234 這樣就建立了乙個名為 test 密碼為 1234 的使用者。注意 此...