㈠ C語言編程增加MySQL表中欄位cmysql增加欄位
C語言編程增加MySQL表中欄位
在進行C語言編程操作時,經常需要和資料庫進行交互,而MySQL作為一個流行的關系型資料庫管理系統,被廣泛應用在各種項目中。在開發過程中,我們會遇到需要在MySQL表中增加欄位的情況,本文將介紹如何使用C語言編程實現該操作。
1.准備工作
需要在操作系統上安裝MySQL資料庫,並且創建一個表用於測試。我們可以使用如下代碼進行表的創建:
CREATE TABLE `test_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
這個表包含了兩個欄位,一個是id主鍵欄位,另一個是name欄位。
2.連接MySQL資料庫
在C語言編程中,我們需要使用MySQL C API來連接資料庫,可以使用如下代碼:
#include
#include
MYSQL *conn;
MYSQL_RES *result;
MYSQL_ROW row;
int mn() {
const char *host = “localhost”;
const char *user = “root”;
const char *password = “password”;
const char *database = “test_db”;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, host, user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
printf(“Connected successfully\n”);
mysql_close(conn);
return 0;
}
這個代碼片段可以連接本地MySQL,並輸出連接成功的信息。
3.增加欄位
連接MySQL後,我們可以使用SQL語句來增加欄位,例如增加一個age欄位,可以使用如下代碼:
if (mysql_query(conn, “ALTER TABLE test_table ADD COLUMN age INT”)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
printf(“Added column age successfully\n”);
這個代碼片段在test_table表中增加了一個age欄位,類型為INT。
4.斷開連接
完成增加欄位操作後,應該斷開與MySQL的連接。可以使用如下代碼:
mysql_close(conn);
完整代碼如下:
#include
#include
MYSQL *conn;
MYSQL_RES *result;
MYSQL_ROW row;
int mn() {
const char *host = “localhost”;
const char *user = “root”;
const char *password = “password”;
const char *database = “test_db”;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, host, user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
printf(“Connected successfully\n”);
if (mysql_query(conn, “ALTER TABLE test_table ADD COLUMN age INT”)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
printf(“Added column age successfully\n”);
mysql_close(conn);
return 0;
}
總結
在進行C語言編程時,使用MySQL C API可以方便地操作MySQL資料庫,包括增加欄位等操作。需要注意的是,在連接MySQL資料庫時應該指定正確的主機、用戶名、密碼和資料庫名。
㈡ 如何使用python連接MySQL資料庫mysqlconnet
如何使用Python連接MySQL資料庫?
MySQL是一種免費的關系型資料庫,被廣泛應用於各種應用程序中。Python作為一種流行的編程語言,也具備了與MySQL資料庫交互的能力。本文將探討如何使用Python連接MySQL資料庫及執行一些基本的資料庫操作。
我們需要安裝MySQL的Python Connector才能在Python中使用MySQL資料庫。可以在終端命令行中使用以下命令進行安裝:
pip install mysql-connector-python
一,使用Python連接MySQL資料庫
為了開始連接MySQL資料庫,我們首先需要具備操作MySQL的credential(憑據)。在MySQL Connector中,這些憑據指的是主機名、用戶名、密碼等信息。以下是連接MySQL資料庫的示例代碼:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”
)
如果連接成功,我們就可以得到代表連接的對象mydb。
二,Python與MySQL的基本交互方式
2.1 創建資料庫
接下來,我們要學習如何在Python中創建一個MySQL資料庫。使用以下代碼可以創建一個名為mydatabase的資料庫:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”
)
mycursor = mydb.cursor()
mycursor.execute(“CREATE DATABASE mydatabase”)
2.2 創建表格
為了創建一個表格,在Python中需要使用CREATE TABLE語句。以下是一個示例代碼:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
mycursor.execute(“CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))”)
這個代碼段創建了名為customers的表格,並且包含兩個列:name和address。
2.3 插入數據
對於建立好的表格,我們需要使用INSERT INTO語句來向其中添加數據。以下是一個示例代碼:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
sql = “INSERT INTO customers (name, address) VALUES (%s, %s)”
val = (“John”, “Highway 21”)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, “record inserted.”)
在這個示例中,我們添加了一個名為John的用戶,地址為Highway 21。
2.4 查詢資料庫
查詢資料庫使用SELECT語句。以下代碼段為我們展示如何使用Python查詢MySQL資料庫。
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
mycursor.execute(“SELECT * FROM customers”)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
這段代碼查詢了customers表格,然後列印出所有數據。
2.5 刪除數據
可以使用DELETE語句從MySQL表格中刪除數據。以下是一個示例代碼:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
sql = “DELETE FROM customers WHERE address = ‘Mountn 21′”
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, “record(s) deleted”)
這個示例代碼刪除了地址為Mountn 21的客戶的行。
三,Python與MySQL高級交互方式
3.1 資料庫批量操作
在實際生產環境中,通常需要一次性對MySQL資料庫中的多行進行操作。MySQL Connector提供了executemany()函數實現批量操作。以下是一個示例代碼:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
sql = “INSERT INTO customers (name, address) VALUES (%s, %s)”
val = [
(‘Peter’, ‘Lowstreet 4’),
(‘Amy’, ‘Apple st 652’),
(‘Hannah’, ‘Mountn 21’),
(‘Michael’, ‘Valley 345’),
(‘Sandy’, ‘Ocean blvd 2’),
(‘Betty’, ‘Green Grass 1’),
(‘Richard’, ‘Sky st 331’),
(‘Susan’, ‘One way 98’),
(‘Vicky’, ‘Yellow Garden 2’),
(‘Ben’, ‘Park Lane 38’),
(‘William’, ‘Central st 954’),
(‘Chuck’, ‘Mn Road 989’),
(‘Viola’, ‘Sideway 1633’)
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, “was inserted.”)
使用executemany()函數可以一起向MySQL資料庫中添加多行,大大減少了代碼行數。
3.2 資料庫事務處理
在Python與MySQL的交互中,可能由於程序崩潰或其他原因導致MySQL操作失敗。在這種情況下,可以通過MySQL事務處理從而避免數據丟失或者邏輯錯誤。以下是在Python中使用MySQL事務處理的示例代碼:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
mydb.start_transaction()
try:
mycursor.execute(“INSERT INTO customers (name, address) VALUES (‘John’, ‘Highway 21’)”)
mycursor.execute(“INSERT INTO customers (name, address) VALUES (‘Peter’, ‘Lowstreet 4’)”)
mydb.commit()
print(“Customer table updated!”)
except:
mydb.rollback()
print(“Rollbacked!”)
在上述代碼中,使用MySQL的start_transaction()函數開啟一個MySQL事務。如果MySQL操作失敗,使用rollback()函數來回滾之前的操作。
使用Python連接MySQL資料庫可以讓我們在Python中輕松使用MySQL資料庫,本文介紹了Python中MySQL資料庫的基本和高級用法。