C中判斷Mysql資料庫中是否存在表
先佔位,以後編輯
有四種方式進行判斷:
1. SHOW TABLES LIKE 'testtable';
這種方法在程式碼中不易實現.
2. select TABLE_NAME
from INFORMATION_SCHEMA
.TABLES
whereTABLE_SCHEMA
='dbname'
and TABLE_NAME
='tablename'
;
這種方法實現起來比較簡單。一個判斷mybase中是否存在testtable表的例項:
MYSQL mysql;
MYSQL_RES* result = NULL;
int count = 0;
if(0==mysql_query(&mysql,"select table_name from information_schema.tables where TABLE_SCHEMA='mybase' and TABLE_NAME='testtable'"))
{
result = mysql_store_result(&mysql);
count = mysql_num_rows(result);
}
else
{
printf("Error: %s\n\n",mysql_error(&mysql));
}
if(count>0) printf("已存在該表");
3.通過呼叫mysql_list_tables(MYSQL* mysql,"tablename")實現。
依舊是判斷當前連線mybase庫中是否存在testtable例項:
MYSQL_RES *result=mysql_list_tables(&mysql,"testtable"); MYSQL_ROW row; int count = 0; while((row=mysql_fetch_row(result))!=NULL) { printf("TABLE %d: %s\n",cnt,row[0]); cnt++; } if (mysql_errno(&mysql)) //mysql_fetch_row() failed due to an error { fprintf(stderr, "Error:%s\n",mysql_error(&mysql)); }
if(count>0) printf("該表已存在");
4. 如果表不存在就建立這個表,那麼可以直接用 create table if not exists tablename 這樣的指令來建立,不需要先去查詢表是否存在。
實現是亦通過mysql_query()等API即可。
相關推薦
C中判斷Mysql資料庫中是否存在表
先佔位,以後編輯 有四種方式進行判斷: 1. SHOW TABLES LIKE 'testtable'; 這種方法在程式碼中不易實現.2. select TABLE_NAME from INFORMATION_SCHEMA.TABLES whereTABLE_SCHEMA
Mybatis中對於Mysql資料庫中NULL的日期資料報錯 mysql錯誤: Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP
原 mysql錯誤: Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP 2010年06月01日 17:38:00 閱讀數:5307
Mybatis中對於Mysql資料庫中NULL的日期資料報錯
問題:MySQL資料庫,如果資料庫中日期欄位為空為值為'0000-00-00 00:00:00"時,查詢的時候回報:Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP解決辦法:更改連線資料庫方式在連線:jdbc:mysq
C#從MySQL資料庫中讀取
實現了資料庫的建表、儲存資料的功能後,還需要實現資料庫的讀取,綜合查資料後發現有兩種發發比較好; 一、如u需要介面操作,需要將資料表格在介面上顯示出來的話,需要使用DataGrid控制元件。 基本操作流程:宣告一個數據介面卡和資料集,並將讀取指令賦值給資料介面卡的指令,開啟資料庫,執行資料介
Access資料庫資料轉存到MySql資料庫中
目錄 一、Navicat自帶匯入Access(*.mdb)資料的方式 二、藉助ODBC當然Access資料 1. 建立ODBC資料來源 2. 通過Navicat匯入資料 3. 新增鍵等 使用Navicat 8 for MySql來匯入資料,Access是2003版本的
C#中執行mysql資料庫的儲存過程
1、使用navicat建立了三個儲存過程: pro_update_ip(不帶形參) pro_insert_user(帶三個形參 textUser、textDevice、textTime 都是text型別) pro_truncate_table(帶一個形參 truncat
c#之wpf 從mysql資料庫中資料繫結到頁面上
博主最近在做小專案時,需要將資料繫結到頁面上,無奈c#前端沒有學好,所以走了寫彎路。 1.listview:首先listview是一個比較好的展示資料庫的資料的控制元件,可是呢,在wpf中listview的用法和winform的有些不一樣,博主努力查詢多天(搜度娘,谷歌等都
C#獲取MySQL資料庫中的所有的表名和欄位名及欄位的資料型別
獲取表名 public bool GetTableName() { string sql = "show tables;"; MySqlCommand cmd = new MySqlCom
MySQL資料庫中的儲存引擎
與其他資料庫軟體不同,MySQL資料庫提供了一種名為儲存引擎的概念。儲存引擎是MySQL資料庫管理系統的一個重要特徵,在具體開發中,為了提高MySQL資料庫管理系統的使用效率和靈活性,可以根據實際情況來選擇儲存引擎。簡單的說資料庫是用一張張表來儲存資訊的,那麼必然就會存在有的表簡單,有的
MySQL資料庫中主鍵和外來鍵的操作
在MySQL資料庫中,一般會涉及到主鍵和外來鍵,在上一個表中添加了主鍵之後,通常在下一個表中要新增外來鍵,但是添加了外來鍵之後,在實體類和資料庫中在加上上一個表的主鍵會比較好,這樣兩個表關聯之後,在上一個表查詢完成之後,將查詢是出來的欄位拿著去下一個庫裡查詢,會比較好。 select * fro
Django中使用mysql資料庫並使用原生sql語句操作
Django自身預設使用sqlite3這個輕量級的資料庫,但是當我們開發網站時,sqlite3就沒有mysql好,sqlite3適合一些手機上開發使用的資料庫。 準備的軟體 mysql資料庫,版本5.7及以上。 navicat,(可選的)。使用navicat主要是簡化我
mysql資料庫中 IN 和 EXISTS 的誤區
前言:最近在看 《高效能mysql第三版》 這本書,讀到子查詢優化那章,書中說mysql會將in子查詢改寫成exists查詢(書中基於的mysql版本是5.1.50和5.5),於是乎我又上網找了下資料,發現網上說法幾乎都是: &
解決查詢MySQL資料庫中重複資料的問題
今天遇到一個問題,需求是查詢新採集資料中 重複資料 的條數。在採集完資料對資料進行去重查詢時sql結果不正確,因為有一部分sql是在業務程式碼中進行拼接的: “SELECT COUNT(*) FROM (“ + sql + “)_AA;” 之前的sql:SELECT 1 FROM TAB
mysql資料庫中的函式
函式表示對輸入引數值返回一個具有特定關係的值,在mysql中使用函式可以極大的提高使用者對資料庫的管理效率。Mysql中的函式主要有數學函式,字串函式,日期函式,時間函式以及條件判斷函式、系統資訊函式和加密函式等。 1、流程控制函式 &nbs
mysql資料庫中的運算子
運算子是mysql執行特定算術或邏輯操作的符號,mysql的運算子主要有算術運算子、比較運算子、邏輯運算子、位操作運算子 1、算術運算子 運算子 作用 + 加法運算
mysql資料庫中的增刪改操作
1、插入資料 語法格式: INSERT INTO table_name (column_list) VALUES (value_list); &n
Django框架中的mysql資料庫
1、連結資料庫 mysql,sqlserver,oracle... django預設只能連結關係型資料庫 1、安裝依賴的庫 可以使用的庫:1、pymysql 2、python_mysql(不穩定) 3、mysqlclient(配置
BCP工具的使用以及C++,SQL server資料庫中呼叫命令列的方法
BCP工具使用: BCP是由SYBASE公司提供的,專門用於資料庫表一級資料備份的工具。 主要引數如下: 基本用法: 遠端地址1的資料庫表student 匯出到本地(遠端ip1(10.189.1.1) ): bcp run.dbo.student out "c:\student
python爬蟲系列(4.3-資料儲存到mysql資料庫中)
一、如果你對mysql資料庫還不太熟悉 二、基本操作 1、在python中使用pymysql連線mysql 2、安裝包 pip3 install pymysql 3、定義一個建立資料庫的方法(或者手動、SQL語句建立資料庫) # 定義一個建立資料庫的函
Python 在mysql資料庫中插入空值
Python中沒有NULL,只有None,操作mysql資料庫時,當某個值為空,不能使用下列插入語句 # 錯誤案例 a = None cursor = db.cursor() sql = "INSERT INTO 表名 VALUES ('%s')" % a cursor.execut