當前位置:首頁 » 操作系統 » c創建mysql資料庫

c創建mysql資料庫

發布時間: 2022-10-23 16:05:07

c語言怎麼把鏈表數據寫進mysql

方法如下:
1.頭文件:
#include
#include
#include//這個是必需要包含的,下面對mysql的所有操作函數,都出自這里
2.定義一個MYSQL變數:
MYSQLmysql;
這里MYSQL是一個用於連接MySql資料庫的變數。
在後面對mysql資料庫的操作中,我們就用這個MYSQL變數作為句柄的。
3.定義資料庫參數:
charhost[32]=」localhost」;
charuser[32]=」username」;
charpasswd[32]=」pwd」;
chardbname[32]=」testdb」;
4.資料庫操作
1).初始化資料庫:
mysql_init(&mysql);
2).連接資料庫:
mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0);
我們在操作時,可以對以上的函數進行if測試,如果初始化或者連接出錯,作出相應提示,以便調試。
5.對資料庫的操作:
Mysql_query(&mysql,「select*fromtestdbwherecondition」);
我們在實際操作中,為了更方便的使用程序中的某些變數,我們將會用到一個函數:
intsprintf(char*str,constchar*format,?);
這個函數用來格式化我們的字元串,然後將變數按照給你的格式,賦給第一個參數。
我們使用這個方法方法可以很方便的使用我們的變數來對資料庫進行操作。例如我們將要進行資料庫的查詢操作,我們就可以這樣使用:
sprintf(sql,」select*fromtestdbwhereusername=『%s』」,u_name);
然後使用mysql_query(&mysql,sql)進行查詢。
MySQL是一個關系型資料庫管理系統,由瑞典MySQLAB公司開發,屬於Oracle旗下產品。MySQL是最流行的關系型資料庫管理系統之一,在WEB應用方面,MySQL是最好的RDBMS(,關系資料庫管理系統)應用軟體之一。
鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。相比於線性表順序結構,操作復雜。由於不必須按順序存儲,鏈表在插入的時候可以達到O(1)的復雜度,比另一種線性表順序錶快得多,但是查找一個節點或者訪問特定編號的節點則需要O(n)的時間,而線性表和順序表相應的時間復雜度分別是O(logn)和O(1)。

❷ 如何用命令創建新的mysql資料庫

創建資料庫
-- 指定資料庫名稱
-- (註:如果資料庫名中包含空格可以使用[]將其標示)
create database [Super WC]
-- 關於數據文件的定義
on
(
name = Super_WC_Data, -- 邏輯名
filename = 'C:\Super_WC_Data.MDF', -- 物理路徑以及物理名
size = 2MB, -- 初始大小
maxsize = 4MB, -- 最大限制
filegrowth = 1MB -- 增長大小
)
-- 關於日誌文件的定義
log on
(
name = Super_WC_Log,
filename = 'C:\Super_WC_Log.LDF',
size = 3MB,
maxsize = 7MB,
filegrowth = 20% -- 增長比例
)-- 附加資料庫
execute sp_attach_db '[Super WC]', 'C:\Super_WC_Data.MDF','C:\Super_WC_Log.LDF'
-- 分離資料庫
execute sp_detach_db '[Super WC]'
-- 復制資料庫
execute master.dbo.xp_cmdshell ' C:\Super_WC_Data.MDF D:\Super_WC_Data.MDF'
execute master.dbo.xp_cmdshell ' C:\Super_WC_Log.LDF D:\Super_WC_Log.LDF'
(1)創建數據表創建一個數據表:學生(students)
結構如下:
欄位 類型 是否允許為空 約束 備注
no char(4) No 主鍵 學號name nvarchar(8) No 唯一 姓名birthday datetime No 檢查(至少18年前) 生日age tinyint No 預設(默認等於當前時間減去生日) 年齡sex nchar(1) No 預設(默認'女') 性別phone char(11) Yes 檢查(要麼沒有,要麼長度等於11) 電話address nvarchar(24)No 地址沒有特別約束的情況:
create table student
(
no char(4) not null,
name nvarchar(8) not null,
birthday datetime not null,
phone char(11) null,
address nvarchar(24) null
)注意:沒有特別約束的情況下,創建數據表可以參考「企業管理器」中「設計表」的操作格式!包含約束的情況:
create table students
(
no char(4) primary key,
name nvarchar(8) unique,
birthday datetime check(datediff(year, birthday, getdate()) >= 18),
age as datediff(year, birthday, getdate()),
sex nchar(1) default('女') check(sex = '女' or sex = '男'),
phone char(11) check((phone is null) or (len(phone) = 11)),
address nvarchar(24)
)
create table scores
(
no char(4) foreign key references students(no),
chinese numeric(4,1) check(chinese >= 0 and chinese <= 100),
english numeric(4,1) check(english >= 0 and english <= 100) ) 這個建庫 建表 建約束都有的 忘採納!

❸ 用C語言如何對MySQL資料庫進行操作

里的大部分代碼參考了MySQL發行包裡面的.c源文件,大家也可以去裡面找找相關的代碼,下面這段代碼實現了連接到本地MySQL伺服器上9tmd_bbs_utf8資料庫,從數據表tbb_user中根據輸入的userid取得該用戶的用戶名並列印輸出到終端。
if defined(_WIN32) || defined(_WIN64)為了支持windows平台上的編譯
#include <windows.h> #endif #include <stdio.h> #include <stdlib.h> #include "mysql.h"

我的機器上該文件在/usr/local/include/mysql下
定義MySQL資料庫操作的宏,也可以不定義留著後面直接寫進代碼
define SELECT_QUERY "select username from tbb_user where userid = %d" int main(int argc, char **argv)char **argv 相當於 char *argv[] {

MYSQL mysql,*sock;定義資料庫連接的句柄,它被用於幾乎所有的MySQL函數
MYSQL_RES *res;查詢結果集,結構類型
MYSQL_FIELD *fd ;包含欄位信息的結構
MYSQL_ROW row ;存放一行查詢結果的字元串數組
char qbuf[160];存放查詢sql語句字元串
if (argc != 2) { //檢查輸入參數 fprintf(stderr,"usage : mysql_select <userid>\n\n"); exit(1); } mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysql,"localhost","dbuser","dbpwd","9tmd_bbs_utf8",0,NULL,0))) { fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql)); perror(""); exit(1); } sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)) { fprintf(stderr,"Query failed (%s)\n",mysql_error(sock)); exit(1); } if (!(res=mysql_store_result(sock))) { fprintf(stderr,"Couldn't get result from %s\n", mysql_error(sock)); exit(1); } printf("number of fields returned: %d\n",mysql_num_fields(res)); while (row = mysql_fetch_row(res)) { printf("Ther userid #%d 's username is: %s\n", atoi(argv[1]),(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0])) ; puts( "query ok !\n" ) ; } mysql_free_result(res); mysql_close(sock); exit(0); return 0;

為了兼容大部分的編譯器加入此行
}
編譯的時候,使用下面的命令
gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 後面兩個選項可選,根據您的環境情況運行的時候,執行下面的命令
./mysql_select 1
將返回如下結果:
number of fields returned: 1 Ther userid #1 's username is: Michael query ok !

上面的代碼我想大部分都能看明白,不明白的可以參考一下MySQL提供的有關C語言API部分文檔,各個函數都有詳細說明,有時間我整理一份常用的API說明出來。

❹ Mysql建立資料庫如和在一個指定的位置建立資料庫,如何指定資料庫默認的存儲位置

工具/材料:Management Studio。

1、首先在桌面上,點擊「Management Studio」圖標。

❺ 求c語言操作mysql資料庫實例

不知你用的是什麼代碼,不過據我實驗,以下代碼是可用的 【來自 http://blog.csdn.net/andy_yf/article/details/7487307】

#include<stdlib.h>
#include<stdio.h>
#include"mysql.h"

intmain(intargc,char*argv[])
{
MYSQL*conn_ptr;
conn_ptr=mysql_init(NULL);//連接初始化
if(!conn_ptr){
fprintf(stderr,"mysql_initfailed ");
returnEXIT_FAILURE;
}

conn_ptr=mysql_real_connect(conn_ptr,"localhost","mol","newpassword","mol_test",0,NULL,0);//建立實際連接
//參數分別為:初始化的連接句柄指針,主機名(或者IP),用戶名,密碼,資料庫名,0,NULL,0)後面三個參數在默認安裝mysql>的情況下不用改
if(conn_ptr){
printf("Connectionsuccess ");
}
else{
printf("Connectionfailed ");
}

mysql_close(conn_ptr);//關閉連接
returnEXIT_SUCCESS;
}


連接mysql資料庫需要以下步驟:

  1. 安裝mysql開發包, linux下是mysql安裝的時候全選就行了, linux 下直接安裝mysql-devel

  2. 新建工程,占貼代碼,注意修改實際的用戶名、密碼 ...

  3. 設置包含目錄, 在windows下, 找到你的mysql安裝位置,找到include文件夾, 設置ide增加該文件夾到包含目錄 【可能是 C:Program FilesMySQLMySQL Server 5.0include】

  4. 設置連接目錄, 同設置包含目錄一樣 找到mysql的lib目錄,設置ide 【可能是C:Program FilesMySQLMySQL Server 5.0libopt】

  5. 設置連接選項, 需要設置ide連接選項,增加 -lmysql

  6. 編譯連接運行

❻ 如何用C語言連接MYSQL資料庫

1、配置ODBC數據源。
2、使用SQL函數進行連接。
對於1、配置數據源,配置完以後就可以編程操作資料庫了。
對於2、使用SQL函數進行連接,參考代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

#include<windows.h>
#include<sql.h>
#include<sqlext.h>
void main()
{
HENV henv; //環境句柄
HDBC hdbc; //數據源句柄
HSTMT hstmt; //執行語句句柄
unsigned char datasource[]="數據源名稱"; //即源中設置的源名稱
unsigned char user[]= "用戶名"; //資料庫的帳戶名
unsigned char pwd[]= "密碼"; //資料庫的密碼
unsigned char search[]="select xm from stu where xh=0";
SQLRETURN retcode; //記錄各SQL函數的返回情況
// 分配環境句柄
retcode= SQLAllocEnv(&henv); // 等介於 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL
, &henv);
// 設置ODBC環境版本號為3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// 分配連接句柄
retcode= SQLAllocConnect(henv,&hdbc); // 等介於 SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);
//直接連接數據源
// 如果是windows身份驗證,第二、三參數可以是

❼ mysql 如何到指定文件夾建立資料庫

首先:保證d:\data\foo目錄存在,如果沒有就創建或 者你c:\mysql\data下面有,就把它剪切過來,當然在停止mysql的情況下作移動,否則是不起任何作用的。
再次: 在c:\mysql\data目錄下建立一個文本文件命名為foo.sym,文件名與資料庫名相同,後綴名為sym,裡面的內容為:D:\data \foo\,就是foo資料庫的絕對路徑。
d:\data\foo 指定文件夾
在c:\mysql\data mysql 默認資料庫位置路徑

❽ 如何用C語言連接MYSQL資料庫

1、配置ODBC數據源。
2、使用SQL函數進行連接。
對於1、配置數據源,配置完以後就可以編程操作資料庫了。
對於2、使用SQL函數進行連接,參考代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<windows.h>
#include<sql.h>
#include<sqlext.h>
void
main()
{
HENV
henv;
//環境句柄
HDBC
hdbc;
//數據源句柄
HSTMT
hstmt;
//執行語句句柄
unsigned
char
datasource[]="數據源名稱";
//即源中設置的源名稱
unsigned
char
user[]=
"用戶名";
//資料庫的帳戶名
unsigned
char
pwd[]=
"密碼";
//資料庫的密碼
unsigned
char
search[]="select
xm
from
stu
where
xh=0";
SQLRETURN
retcode;
//記錄各SQL函數的返回情況
//
分配環境句柄
retcode=
SQLAllocEnv(&henv);
//
等介於
SQLAllocHandle(SQL_HANDLE_ENV,
SQL_NULL
,
&henv);
//
設置ODBC環境版本號為3.0
retcode=
SQLSetEnvAttr(henv,
SQL_ATTR_ODBC_VERSION,
(void*)SQL_OV_ODBC3,
0);
//
分配連接句柄
retcode=
SQLAllocConnect(henv,&hdbc);
//
等介於
SQLAllocHandle(SQL_HANDLE_DBC,
henv,
&hdbc);
//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)
//
SQLSetConnectAttr(hdbc,
SQL_LOGIN_TIMEOUT,
(SQLPOINTER)(rgbValue),
0);
//直接連接數據源
//
如果是windows身份驗證,第二、三參數可以是

熱點內容
如何下載奧特曼高級化3安卓版 發布:2025-05-14 07:47:31 瀏覽:346
qml文件修改後編譯未生效 發布:2025-05-14 07:31:00 瀏覽:331
內到內演算法 發布:2025-05-14 07:29:11 瀏覽:34
文件夾名字不顯示 發布:2025-05-14 07:27:47 瀏覽:775
oracle的資料庫驅動jar 發布:2025-05-14 07:23:20 瀏覽:556
我的世界電腦版伺服器手機版能進嗎 發布:2025-05-14 07:22:01 瀏覽:679
達內培訓php多少錢 發布:2025-05-14 07:19:10 瀏覽:27
python位元組轉字元串 發布:2025-05-14 07:06:35 瀏覽:422
subplotpython 發布:2025-05-14 06:53:51 瀏覽:662
豎屏大屏導航工廠密碼一般是多少 發布:2025-05-14 06:49:29 瀏覽:807