mysql資料庫的操作總結,mysql資料庫的操作總結

本文目錄一覽:

關於php操作mysql執行資料庫查詢的一些常用操作匯總

php操作mysql步驟:

1.$connect=mysql_connect(‘localhost’,’root’,’123456′)

or

die(‘資料庫連接失敗。’mysql_error());鏈接mysql。

2.mysql_select_db(‘database’,$connect)選擇鏈接的資料庫。

3.mysql_query(‘Set

names

gb2312′);$sql

=

“select

*

from

blog_article”;準備要查詢的數據。

4.$datas

=

mysql_query($sql);執行sql查詢。

5.$data

=

mysql_fetch_assoc($datas)得到查詢到的緩存在內存中的一條數據。

6.print_r($data);

相同點:三個函數都是返回資料庫中查詢到的一行數據(說的再清楚點就是一條數據)。

不同點:mysql_fetch_assoc()用的是資料庫中相應的欄位名作為的key值(也就是數組下標)

如:filed[‘id’]=1;

mysql_fetch_row()用的是自動生成的數字(從0開始依次生成)作為的key值(也就是數組下標)

如:filed[0]=1;

mysql_fetch_array()用的是自動生成的數字(從0開始依次生成)作為的key值(也就是數組下標),而且它還同時生成資料庫中相應的欄位名作為的key值(也就是數組下標)

如:

filed[0]=1,filed[‘id’]=1;也就是說,mysql_fetch_array()將mysql_fetch_assoc()和mysql_fetch_row()查詢到的結果合為了一體了。

mysql_fetch_object()與mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是數組。mysql_fetch_object()返回的是object對象。

mysql_insert_id() 取得上一步

INSERT

操作產生的

ID。

mysql_result()

函數返回結果集中一個欄位的值。

mysql_num_fields()

函數返回結果集中欄位的數目。

mysql_affected_rows();返回前一次

MySQL

操作所影響的記錄行數。

mysql_num_rows(mysql_query($sql))獲得結果集中行的數目。

mysql_pconnect()

函數打開一個到

MySQL

伺服器的持久連接。

mysql_pconnect()

mysql_connect()

非常相似,但有兩個主要區別:

1.

當連接的時候本函數將先嘗試尋找一個在同一個主機上用同樣的用戶名和密碼已經打開的(持久)連接,如果找到,則返回此連接標識而不打開新連接。

2.

其次,當腳本執行完畢後到

SQL

伺服器的連接不會被關閉,此連接將保持打開以備以後使用(mysql_close()

不會關閉由

mysql_pconnect()

建立的連接)。

mysql_data_seek(mysql_query($sql),8);獲得結果集中的第8條數據。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)

mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是

mysql_unbuffered_query($sql)不緩存。mysql_query($sql)會緩存查詢的結果。

mysql_close();關閉mysql的最近的鏈接。

mysql_field_flags(mysql_query($sql),6)返回第六個欄位的表屬性輸出如:not_null

primary_key

auto_increment

mysql_fetch_lengths(mysql_query($sql))返回該條數據的所有欄位的每個欄位的長度。返回的是一個數字組成的數組。

mysql_field_name(mysql_query($sql),3)返回第三個欄位的欄位名。

mysql_field_table(mysql_query($sql),0)返回指定欄位所在的表名。

mysql_free_result(mysql_query($sql))

函數釋放結果內存。

mysql_get_client_info()

函數返回

MySQL

客戶端信息。

mysql_get_host_info()

取得

MySQL

主機信息。

MySQL資料庫設置遠程訪問許可權方法小結

MySQL基礎知識第一期,如何遠程訪問MySQL資料庫設置許可權方法總結,討論訪問單個資料庫,全部資料庫,指定用戶訪問,設置訪問密碼,指定訪問主機。

1,設置訪問單個資料庫許可權

複製代碼

代碼如下:

mysqlgrant

all

privileges

on

test.*

to

‘root’@’%’;

說明:設置用戶名為root,密碼為空,可訪問資料庫test

2,設置訪問全部資料庫許可權

複製代碼

代碼如下:

mysqlgrant

all

privileges

on

*.*

to

‘root’@’%’;

說明:設置用戶名為root,密碼為空,可訪問所有資料庫*

3,設置指定用戶名訪問許可權

複製代碼

代碼如下:

mysqlgrant

all

privileges

on

*.*

to

‘liuhui’@’%’;

說明:設置指定用戶名為liuhui,密碼為空,可訪問所有資料庫*

4,設置密碼訪問許可權

複製代碼

代碼如下:

mysqlgrant

all

privileges

on

*.*

to

‘liuhui’@’%’

IDENTIFIED

BY

‘liuhui’;

說明:設置指定用戶名為liuhui,密碼為liuhui,可訪問所有資料庫*

5,設置指定可訪問主機許可權

複製代碼

代碼如下:

mysqlgrant

all

privileges

on

*.*

to

‘liuhui’@’10.2.1.11’;

說明:設置指定用戶名為liuhui,可訪問所有資料庫*,只有10.2.1.11這台機器有許可權訪問

還可以設置指定訪問某個資料庫下的某個數據表,請繼續關注MySQL基礎知識系列。

關於Ubuntu中的MySQL操作

關於Ubuntu中的MySQL操作

ubuntu下mysql的常用命令,MySQL資料庫的基本操作命令

一、mysql服務操作

0、查看資料庫版本 sql- status;

1、net start mysql //啟動mysql服務

2、net stop mysql //停止mysql服務 

3、mysql

-h主機地址 -u用戶名 -p用戶密碼 //進入mysql資料庫

4、quit //退出mysql操作

5、mysqladmin -u用戶名

-p舊密碼 password 新密碼 //更改密碼

6、grant select on 資料庫.* to 用戶名@登錄主機 identified by

“密碼” //增加新用戶

exemple:

例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作

(localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據

庫,只能通過MYSQL主機上的web頁來訪問了。

grant select,insert,update,delete on mydb.* to

test2@localhost identified by “abc”;

如果你不想test2有密碼,可以再打一個命令將密碼消掉。

grant

select,insert,update,delete on mydb.* to test2@localhost identified by “”;

關於mysql資料庫操作

1.

create

database

school;//創建資料庫

2.

show

databases;

//查看資料庫

3.

use

school;

//使用創建的資料庫

4.

create

table

students

(

s_no

int

,name

varchar(20),gender

varchar(10),birthday

datetime,image

blob

,address

varchar(50),

c_no

int,primary

key

(s_no,c_no)

);

//建students表

5.

create

table

classes(c_no

int,name

varchar(20)

,

class_adviser

varchar(20)

,foreign

key(c_no)

REFERENCES

students(c_no));

//建classes表

6.

insert

into

students(s_no,name,gender,birthday,image,address,c_no)

values(1,’Sally’,’FM’,’1987-1-2′,null,’aaaaa’,1);

7.

insert

into

students(s_no,name,gender,birthday,image,address,c_no)

values(2,’Nicholas’,’M’,’1985-8-8′,Null,’bbbbb’,1);

8.

insert

into

students(s_no,name,gender,birthday,image,address,c_no)

values(3,’Jason’,’M’,’1988-5-19′,Null,’ccccc’,2);

9.

insert

into

students(s_no,name,gender,birthday,image,address,c_no)

values(4,’Jamile’,’M’,’1979-2-5′,Null,’ddddd’,2);

10.

insert

into

classes

(c_no,name,class_adviser)

values

(1,’Class1′,’Mike’);

11.

insert

into

classes

(c_no,name,class_adviser)

values

(2,’Class2′,’Andy’);

12.

select

a.*

from

students

a,

classes

b

where

a.c_no

in

(select

b.c_no

from

classes

b

where

b.class_adviser

=

‘Mike’)

and

a.c_no

=

b.c_no;

//查數據

或者

select

students.s_no,

students.name,

students.gender,

students.birthday,

students.image,

students.address,

students.c_no

from

students,

classes

where

students.c_no

in

(select

c_no

from

classes

where

class_adviser

=

‘Mike’)

and

students.c_no

=

classes.c_no;

盧旭

mysql幾個常見問題匯總

一、Can』t connect to MySQL server on 『localhost』 (10061)

翻譯:不能連接到 localhost 上的mysql

分析:這說明「localhost」計算機是存在的,但在這台機器上卻沒提供MySQL服務。

需要啟動這台機器上的MySQL服務,如果機子負載太高沒空相應請求也會產生這個錯誤。

解決:既然沒有啟動那就去啟動這台機子的mysql。如果啟動不成功,多數是因為你的my.ini配置的有問題。重新配置其即可。

如果覺得mysql負載異常,可以到mysql/bin 的目錄下執行mysqladmin -uroot -p123 processlist來查看mysql當前的進程。

二、Unknown MySQL Server Host 『localhosadst』 (11001)

翻譯:未知的MySQL伺服器 localhosadst

分析:伺服器 localhosasdst 不存在。或者根本無法連接

解決:仔細檢查自己論壇下面的 ./config.inc.php 找到$dbhost重新設置為正確的mysql 伺服器地址。

三、Access denied for user: 『roota@localhost』 (Using password: YES)

翻譯:用戶 roota 訪問 localhost 被拒絕(沒有允許通過)

分析:造成這個錯誤一般資料庫用戶名和密碼相對mysql伺服器不正確

解決:仔細檢查自己論壇下面的 ./config.inc.php 找到$dbuser、$dbpw核實後重新設置保存即可。

四、Access denied for user: 『red@localhost』 to database 『newbbs』

翻譯:用戶 red 在localhost 伺服器上沒有許可權操作資料庫newbbs

分析:這個提示和問題三是不同的。那個是在連接資料庫的時候就被阻止了,而這個錯誤是在對資料庫進行操作時引起的。比如在select update等等。這個是因為該用戶沒有操作資料庫相應的權力。比如select 這個操作在mysql.user.Select_priv里記錄 Y 可以操作N 不可以操作。

解決:如果是自己的獨立主機那麼更新mysql.user 的相應用戶記錄,比如這裡要更新的用戶為red 。或者直接修改 ./config.inc.php 為其配置一個具有對資料庫操作許可權的用戶

或者通過如下的命令來更新授權grant all privileges on dbname.* to 『user』@』localhost』 identified by 『password』

提示:更新了mysql庫中的記錄一定要重啟mysql伺服器才能使更新生效

FLUSH PRIVILEGES;

五、No Database Selected

翻譯:沒有資料庫被選擇上

分析:產生的原因有兩種

config.inc.php 裡面$dbname設置的不對。致使資料庫根本不存在,所以在 $db-select_db($dbname); 時返回了false

和上面問題四是一樣的,資料庫用戶沒有select許可權,同樣會導致這樣的錯誤。當你發現config.inc.php的設置沒有任何問題,但還是提示這個錯誤,那一定就是這種情況了。

解決:對症下藥

打開config.inc.php 找到$dbname核實重新配置並保存

同問題四的解決方法

六、Can』t open file: 『xxx_forums.MYI』. (errno: 145)

翻譯:不能打開xxx_forums.MYI

問題分析:

這種情況是不能打開 cdb_forums.MYI 造成的,引起這種情況可能的原因有:

1、伺服器非正常關機,資料庫所在空間已滿,或一些其它未知的原因,對資料庫表造成了損壞。

2、類 unix 操作系統下直接將資料庫文件拷貝移動會因為文件的屬組問題而產生這個錯誤。

解決方法:

1、修複數據表

可以使用下面的兩種方式修複數據表:(第一種方法僅適合獨立主機用戶)

1)使用 myisamchk ,MySQL 自帶了專門用戶數據表檢查和修復的工具 —— myisamchk 。更改當前目錄到 MySQL/bin 下面,一般情況下只有在這個下面才能運行 myisamchk 命令。常用的修復命令為:myisamchk -r 數據文件目錄/數據表名.MYI;

2)通過 phpMyAdmin 修復, phpMyAdmin 帶有修複數據表的功能,進入到某一個表中後,點擊「操作」,在下方的「表維護」中點擊「修復表」即可。

注意:以上兩種修復方式在執行前一定要備份資料庫。

mysql資料庫軟體怎麼使用,如何連接數據?

可以使用mysql推出的mysqlconnector/net組件,該組件是mysql為ado.net訪問mysql資料庫設計的.net專用訪問組件,完成該組件後,需要在項目中引用這個組件,之後在程序中引用命名空間mysql.data.mysqlclient,即可開始進行連接mysql資料庫的操作了,示例如下:

protected

voidmysqlcon()

{

//資料庫連接字元串跟連接sqlserver沒有區別

string

constr

=

“server=localhost;userid=root;password=root;database=test”;

//下面使用mysql

connector/net提供的專用對象

mysqlconnection

mycon

=

new

mysqlconnection(constr);

mycon.open();

mysqlcommandmycmd

=

new

mysqlcommand(“select

*

from

users”,

mycon);

mysqldatareader

myreader

=

mycmd.executereader();

while

(myreader.read())

{

if

(myreader.hasrows)

{

messagebox.show(myreader.getstring(“email”)

);

}

}

myreader.close();

mycon.close();

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283099.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 08:07
下一篇 2024-12-22 08:07

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Python磁碟操作全方位解析

    本篇文章將從多個方面對Python磁碟操作進行詳細闡述,包括文件讀寫、文件夾創建、刪除、文件搜索與遍歷、文件重命名、移動、複製、文件許可權修改等常用操作。 一、文件讀寫操作 文件讀寫…

    編程 2025-04-29
  • Python代碼實現迴文數最少操作次數

    本文將介紹如何使用Python解決一道經典的迴文數問題:給定一個數n,按照一定規則對它進行若干次操作,使得n成為迴文數,求最少的操作次數。 一、問題分析 首先,我們需要了解迴文數的…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Python元祖操作用法介紹

    本文將從多個方面對Python元祖的操作進行詳細闡述。包括:元祖定義及初始化、元祖遍歷、元祖切片、元祖合併及比較、元祖解包等內容。 一、元祖定義及初始化 元祖在Python中屬於序…

    編程 2025-04-29

發表回復

登錄後才能評論