本文目錄一覽:
- 1、如何用mysql創建資料庫
- 2、怎麼用python鏈接和操作mysql資料庫
- 3、mysql資料庫免安裝版下載
- 4、如何下載mysql示例資料庫employees
- 5、求c語言操作mysql資料庫實例
- 6、急需關於mysql資料庫知識。。基礎點,在哪可以下載到啊
如何用mysql創建資料庫
在Windows下,假如你的MySQL裝在 D:\MySQL
就可以這樣:
先切換到它的bin目錄
cd D:\MySQL\bin\
D:\MySQL\binmysql -u root -p
接著輸入你的root密碼
接下來你就可以創建資料庫、創建用戶、創建修改表之類的操作(常用命令如下)。
查看現有資料庫
mysql show databases;
創建資料庫(假如資料庫名為 mydb)
mysql create database mydb;
刪除資料庫(假如資料庫名為 mydb)
mysql drop database accounts;
使用資料庫(假如使用資料庫 mydb)
mysql use mydb;
執行完使用資料庫命令後,就可以對該資料庫進行創建、修改、插入、刪除表等操作,這些表的操作命令你可以到網上找找,不是很難的。一個資料庫就相當於一個 Excel 文件,而表則相當於Excel文件的單元格,數據就是存放在表中。
怎麼用python鏈接和操作mysql資料庫
你可以訪問Python資料庫介面及API查看詳細的支持資料庫列表。不同的資料庫你需要下載不同的DB API模塊,例如你需要訪問Oracle資料庫和Mysql數據,你需要下載Oracle和MySQL資料庫模塊。
DB-API 是一個規範. 它定義了一系列必須的對象和資料庫存取方式, 以便為各種各樣的底層資料庫系統和多種多樣的資料庫介面程序提供一致的訪問介面 。
Python的DB-API,為大多數的資料庫實現了介面,使用它連接各資料庫後,就可以用相同的方式操作各資料庫。
Python DB-API使用流程:
引入 API 模塊。
獲取與資料庫的連接。
執行SQL語句和存儲過程。
關閉資料庫連接。
什麼是MySQLdb?
MySQLdb 是用於Python鏈接Mysql資料庫的介面,它實現了 Python 資料庫 API 規範 V2.0,基於 MySQL C API 上建立的。
如何安裝MySQLdb?
為了用DB-API編寫MySQL腳本,必須確保已經安裝了MySQL。複製以下代碼,並執行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
如果執行後的輸出結果如下所示,意味著你沒有安裝 MySQLdb 模塊:
Traceback (most recent call last):
File “test.py”, line 3, in module
import MySQLdb
ImportError: No module named MySQLdb
安裝MySQLdb,請訪問 ,(Linux平台可以訪問:)從這裡可選擇適合您的平台的安裝包,分為預編譯的二進位文件和源代碼安裝包。
如果您選擇二進位文件發行版本的話,安裝過程基本安裝提示即可完成。如果從源代碼進行安裝的話,則需要切換到MySQLdb發行版本的頂級目錄,並鍵入下列命令:
$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install
注意:請確保您有root許可權來安裝上述模塊。
資料庫連接
連接資料庫前,請先確認以下事項:
您已經創建了資料庫 TESTDB.
在TESTDB資料庫中您已經創建了表 EMPLOYEE
EMPLOYEE表欄位為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
連接資料庫TESTDB使用的用戶名為 “testuser” ,密碼為 “test123”,你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql資料庫用戶授權請使用Grant命令。
在你的機子上已經安裝了 Python MySQLdb 模塊。
如果您對sql語句不熟悉,可以訪問我們的 SQL基礎教程
實例:
以下實例鏈接Mysql的TESTDB資料庫:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# 使用execute方法執行SQL語句
cursor.execute(“SELECT VERSION()”)
# 使用 fetchone() 方法獲取一條資料庫。
data = cursor.fetchone()
print “Database version : %s ” % data
# 關閉資料庫連接
db.close()
執行以上腳本輸出結果如下:
Database version : 5.0.45
創建資料庫表
如果資料庫連接存在我們可以使用execute()方法來為資料庫創建表,如下所示創建表EMPLOYEE:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# 如果數據表已經存在使用 execute() 方法刪除表。
cursor.execute(“DROP TABLE IF EXISTS EMPLOYEE”)
# 創建數據表SQL語句
sql = “””CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )”””
cursor.execute(sql)
# 關閉資料庫連接
db.close()
資料庫插入操作
以下實例使用執行 SQL INSERT 語句向表 EMPLOYEE 插入記錄:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 插入語句
sql = “””INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES (‘Mac’, ‘Mohan’, 20, ‘M’, 2000)”””
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# 關閉資料庫連接
db.close()
以上例子也可以寫成如下形式:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 插入語句
sql = “INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES (‘%s’, ‘%s’, ‘%d’, ‘%c’, ‘%d’ )” % \
(‘Mac’, ‘Mohan’, 20, ‘M’, 2000)
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉資料庫連接
db.close()
實例:
以下代碼使用變數向SQL語句中傳遞參數:
…………………………….
user_id = “test123”
password = “password”
con.execute(‘insert into Login values(“%s”, “%s”)’ % \
(user_id, password))
…………………………….
資料庫查詢操作
Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。
fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象
fetchall():接收全部的返回結果行.
rowcount: 這是一個只讀屬性,並返回執行execute()方法後影響的行數。
實例:
查詢EMPLOYEE表中salary(工資)欄位大於1000的所有數據:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 查詢語句
sql = “SELECT * FROM EMPLOYEE \
WHERE INCOME ‘%d'” % (1000)
try:
# 執行SQL語句
cursor.execute(sql)
# 獲取所有記錄列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 列印結果
print “fname=%s,lname=%s,age=%d,sex=%s,income=%d” % \
(fname, lname, age, sex, income )
except:
print “Error: unable to fecth data”
# 關閉資料庫連接
db.close()
以上腳本執行結果如下:
fname=Mac, lname=Mohan, age=20, sex=M, income=2000
資料庫更新操作
更新操作用於更新數據表的的數據,以下實例將 TESTDB表中的 SEX 欄位全部修改為 ‘M’,AGE 欄位遞增1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 更新語句
sql = “UPDATE EMPLOYEE SET AGE = AGE + 1
WHERE SEX = ‘%c'” % (‘M’)
try:
# 執行SQL語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉資料庫連接
db.close()
刪除操作
刪除操作用於刪除數據表中的數據,以下實例演示了刪除數據表 EMPLOYEE 中 AGE 大於 20 的所有數據:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect(“localhost”,”testuser”,”test123″,”TESTDB” )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 刪除語句
sql = “DELETE FROM EMPLOYEE WHERE AGE ‘%d'” % (20)
try:
# 執行SQL語句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉連接
db.close()
執行事務
事務機制可以確保數據一致性。
事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做。
一致性(consistency)。事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
持久性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
Python DB API 2.0 的事務提供了兩個方法 commit 或 rollback。
mysql資料庫免安裝版下載
去官方下吧(下你自己想要的版本,你要免安裝的,則選ZIP format這個格式的就可以了)
如何下載mysql示例資料庫employees
下載地址如下:launchpad.net/test-db/employees-db-1/1.0.6
下載後解壓:
tar -xjf $HOME/Downloads/employees_db-full-1.0.4.tar.bz2
//解壓縮,進入目錄
cd employees_db/
//導入資料庫root為用戶名
mysql -t -u root -p employees.sql
其中,數據表關係如下:
求c語言操作mysql資料庫實例
不知你用的是什麼代碼,不過據我實驗,以下代碼是可用的 【來自 】
#include stdlib.h
#include stdio.h
#include “mysql.h”
int main (int argc, char *argv[])
{
MYSQL *conn_ptr;
conn_ptr=mysql_init(NULL); //連接初始化
if(!conn_ptr){
fprintf(stderr, “mysql_init failed\n”);
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr, “localhost”, “moldao”,”newpassword”,”moldao_test”, 0, NULL, 0); //建立實際連接
//參數分別為:初始化的連接句柄指針,主機名(或者IP),用戶名,密碼,資料庫名,0,NULL,0)後面三個參數在默認安裝mysql的情況下不用改
if(conn_ptr){
printf(“Connection success\n”);
}
else {
printf(“Connection failed\n”);
}
mysql_close(conn_ptr); //關閉連接
return EXIT_SUCCESS;
}
連接mysql資料庫需要以下步驟:
安裝mysql開發包, linux下是mysql安裝的時候全選就行了, linux 下直接安裝mysql-devel
新建工程,占貼代碼,注意修改實際的用戶名、密碼 …
設置包含目錄, 在windows下, 找到你的mysql安裝位置,找到include文件夾, 設置ide增加該文件夾到包含目錄 【可能是 C:\Program Files\MySQL\MySQL Server 5.0\include】
設置連接目錄, 同設置包含目錄一樣 找到mysql的lib目錄,設置ide 【可能是 C:\Program Files\MySQL\MySQL Server 5.0\lib\opt 】
設置連接選項, 需要設置ide連接選項,增加 -lmysql
編譯連接運行
急需關於mysql資料庫知識。。基礎點,在哪可以下載到啊
?php//$TEXT[‘phonebook-sure’]=’刪除’;
class F{
//—————————————-連接
function connect()
{
$con = mysql_connect(“localhost”,”root”,”123456″);
if (!$con)
{
die(‘Could not connect: ‘ . mysql_error());
}
else
{
echo “連接成功”;
}
}
//—————————————-關閉
function closeDB()
{
$con = mysql_connect(“localhost”,”root”,”123456″);
if (!$con)
{
die(‘Could not connect: ‘ . mysql_error());
}
else
{
echo “br/”;
echo “關閉成功”;
}
mysql_close($con);
}
//——————————增加(無參數):
function create()
{
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
$sql=”INSERT INTO parker (id, name)VALUES(‘$_POST[id]’,’$_POST[name]’)”;
if (!mysql_query($sql,$con))
{
//die(‘Error: ‘ . mysql_error());
echo “無添加信息”;
}
else
echo “插入成功!”;
}
//——————————增加(有參數):
function newCreate($id,$name)
{
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
$sql=”INSERT INTO parker (id, name)VALUES(‘$id’,’$name’)”;
if (!mysql_query($sql,$con))
{
//die(‘Error: ‘ . mysql_error());
echo “無添加信息”;
}
else
echo “插入成功,請刷新!”;
}
//————————————查詢(無參數)
function select()
{
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
$output=”刪除”;
$change=’修改’;
//查詢方法
$result = mysql_query(“SELECT * FROM parker”);
//得到結果集
echo’br /’;
echo “table border=’1′
tr
th id/th
thname/th
th刪除/th
th修改/th
/tr”;
while($row = mysql_fetch_array($result))
{
echo “tr”;
echo “td” . $row[‘id’] . “/td”;
echo “td” . $row[‘name’] . “/td”;
// echo “tdform action=’deal.php’ method=’post’ name=’form1’input type=’button’ name =’button’ value=’刪除’ onClick/form/td”;
// echo “tdform action=’deal.php’ method=’post’ name=’form1’input type=’button’ name =’button’ value=’刪除’ /form/td”;
// echo “td class=’tabval’a onclick=\”return confirm(‘”.$TEXT[‘phonebook-sure’].”‘);\” href=’phonebook.php?action=delid=”.$row[‘id’].”‘span class=’red'[“.$TEXT[‘phonebook-button1’].”]/span/a/td”;
// echo “a onclick\” href=’deal.php?action=del$id=”.$row[‘id’].”‘/a”;
echo “td class=’tabval’a onclick=\”return confirm(‘\” href=’deal.php?action=delid=”.$row[‘id’].”‘span class=’red'[“.’刪除’.”]/span/a/td”;
echo “td class=’tabval’a onclick=\”return confirm(‘\” href=’change.php?action=changeid=”.$row[‘id’].”‘span class=’red'[“.’修改’.”]/span/a/td”;
// echo “td”.$change.”/td”;
echo “/tr”;
}
/*echo “button onclick=”alert(‘”+?php echo $txt; ?+”‘)”/button”;*/
echo “/table”;
echo “查詢成功!”;
echo’br /’;
}
//——————————————-查詢(有參數)
function selectNew($id)
{
//print_r($_POST[‘id’]);
$id=$_POST[‘id’];
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
$output=”刪除”;
$change=’修改’;
//查詢方法
$result = mysql_query(“SELECT * FROM parker WHERE id=’$id'”);
//得到結果集
echo’br /’;
echo “table border=’1′
tr
th id/th
thname/th
/tr”;
while($row = mysql_fetch_array($result))
{
echo “tr”;
echo “td” . $row[‘id’] . “/td”;
echo “td” . $row[‘name’] . “/td”;
echo “/tr”;
}
echo “/table”;
//echo “查詢成功!”;
echo’br /’;
}
//————————-刪除(無參數)
function delete()
{
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
$sql=”DELETE FROM parker WHERE id=’$_POST[id]'”;
//mysql_query(“DELETE FROM parker WHERE id=’$_POST[id]'”);
//if (!mysql_query(“DELETE FROM parker WHERE id=’$_POST[id]'”))
// {
// die(‘Error: ‘ . mysql_error());
//}
//else
// echo “刪除成功”;
if (!mysql_query($sql,$con))
{
//die(‘Error: ‘ . mysql_error());
echo “無操作”;
}
else
{
echo “刪除!”;
}
}
//————————-刪除(有參數)
function newDelete($id)
{
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
//mysql_query(“DELETE FROM parker WHERE id=’$_POST[id]'”);
$sql=”DELETE FROM parker WHERE id=’$id'”;
if (!mysql_query($sql,$con))
{
//die(‘Error: ‘ . mysql_error());
echo “無操作”;
}
else
{
echo “刪除!”;
}
}
//————————————-更新
function update($id,$name)
{
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
mysql_query(“UPDATE parker SET name = ‘$name’WHERE id=’$id'”);
//if (!mysql_query(“UPDATE parker SET name = ‘$_POST[name]’WHERE id=’$_POST[id]'”))
// die(‘Error: ‘ . mysql_error());
//else
// echo “修改成功”;
}
//————————————統計表中有多少記錄(無參數)
function count()
{
$con = mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“student”, $con);
//mysql_query(“select count(id) from parker”);
$sql=”SELECT COUNT(id) AS count FROM parker”;
$result=mysql_fetch_array(mysql_query($sql));
$count=$result[‘count’];
echo “$count”;
}
}
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/187073.html