mysql代碼例子(mysql代碼大全)

本文目錄一覽:

php實現mysql封裝類示例

php封裝mysql類

複製代碼

代碼如下:

?php

class

Mysql

{

private

$host;

private

$user;

private

$pwd;

private

$dbName;

private

$charset;

private

$conn

=

null;

public

function

__construct()

{

$this-host

=

‘localhost’;

$this-user

=

‘root’;

$this-pwd

=

‘root’;

$this-dbName

=

‘test’;

$this-connect($this-host,$this-user,$this-pwd);

$this-switchDb($this-dbName);

$this-setChar($this-charset);

}

//負責鏈接

private

function

connect($h,$u,$p)

{

$conn

=

mysql_connect($h,$u,$p);

$this-conn

=

$conn;

}

//負責切換資料庫

public

function

switchDb($db)

{

$sql

=

‘use’

.

$db;

$this-query($sql);

}

//負責設置字符集

public

function

setChar($char)

{

$sql

=

‘set

names’

.

$char;

$this-query($sql);

}

//負責發送sql查詢

public

function

query($sql)

{

return

mysql_query($sql,$this-conn);

}

//負責獲取多行多列的select結果

public

function

getAll($sql)

{

$list

=

array();

$rs

=

$this-query($sql);

if

(!$rs)

{

return

false;

}

while

($row

=

mysql_fetch_assoc($rs))

{

$list[]

=

$row;

}

return

$list;

}

public

function

getRow($sql)

{

$rs

=

$this-query($sql);

if(!$rs)

{

return

false;

}

return

mysql_fetch_assoc($rs);

}

public

function

getOne($sql)

{

$rs

=

$this-query($sql);

if

(!$rs)

{

return

false;

}

return

mysql_fetch_assoc($rs);

return

$row[0];

}

public

function

close()

{

mysql_close($this-conn);

}

}

echo

‘pre’;

$mysql

=

new

Mysql();

print_r($mysql);

$sql

=

“insert

into

stu

values

(4,’wangwu’,’99998′)”;

if($mysql-query($sql)){

echo

“query成功”;

}else

{

echo

“失敗”;

}

echo

“br

/”;

$sql

=

“select

*

from

stu”;

$arr

=

$mysql-getAll($sql);

print_r($arr);

?

mysql中的一些稍微複雜用法實例代碼

前言

mysql的語法相信對大家來說都不是難事,但是本文主要給分享了一些mysql複雜用法的相關內容,通過這篇文章相信大家會對mysql更深的了解一些,下面話不多說了,來一起看看詳細的介紹吧

一對多數據顯示成一行

GROUP_CONCAT(expr)

1、涉及的表關係:teacher表、teacher_subject_rel表(教師所能教的學科表)、subject表

2、業務場景:

需要拉取所有教師的編號(teacher_no)、學科名(subject_name)。

nbsp

教師表(teacher)和學科(teacher_subject_rel)是一對多關係,

往往查詢出現的是同一教師多條

數據。我們希望得到每個教師一條數據

學科拼接成一條

1、基本語法

group_concat(

[DISTINCT]

要連接的欄位

[Order

BY

排序欄位

ASC/DESC]

[Separator

‘分隔符’]

)

2、例子

SELECT

t.teacher_id

as

‘教師id’,

t.teacher_no

‘教師編號’,

(

SELECT

GROUP_CONCAT(s.subject_name)

FROM

teacher_subject_rel

tsr

LEFT

JOIN

`subject`

s

ON

tsr.subject_id

=

s.subject_id

WHERE

t.teacher_id

=

tsr.teacher_id

)

AS

‘學科’

FROM

teacher

t

子查詢、查詢臨時表、EXISTS

例子

SELECT

*

FROM

(

SELECT

o.id,

o.student_intention_id,

s.

NAME,

s.area_id,

a.area_name,

s.exam_year,

o.

STATUS,

CASE

o.

STATUS

WHEN

‘1’

THEN

‘待提交’

WHEN

‘2’

THEN

‘待指派’

WHEN

‘3’

THEN

‘已完成’

WHEN

‘4’

THEN

‘處理中’

END

statusName,

CASE

o.emergency_degree

WHEN

‘1’

THEN

‘正常’

WHEN

‘2’

THEN

‘緊急’

WHEN

‘3’

THEN

‘非常緊急’

END

emergencyDegreeName,

o.emergency_degree,

o.update_time,

(

SELECT

first_lesson_time

FROM

jx_strategy

WHERE

jx_lesson_plan_order_id

=

o.id

AND

STATUS

IN

(2,

7)

AND

first_lesson_time

now()

ORDER

BY

first_lesson_time

ASC

LIMIT

1

)

AS

first_time,

(

SELECT

deal_user_id

FROM

jx_strategy

WHERE

jx_lesson_plan_order_id

=

o.id

AND

STATUS

7

AND

deal_user_id

ORDER

BY

id

DESC

LIMIT

1

)

AS

deal_user_id

FROM

jx_lesson_plan_order

o

LEFT

JOIN

student

s

ON

s.student_intention_id

=

o.student_intention_id

LEFT

JOIN

area

a

ON

s.area_id

=

a.id

WHERE

o.

STATUS

1

AND

s.phone

=

‘18501665888’

AND

o.emergency_degree

=

1

AND

o.

STATUS

=

2

AND

s.exam_year

=

‘2015’

AND

o.update_time

=

‘2018-08-14

20:28:55′

AND

o.update_time

=

‘2018-08-14

20:28:55′

)

AS

a

WHERE

1

=

1

AND

a.deal_user_id

=

145316

AND

a.first_time

=

‘2018-08-17

00:00:00′

AND

a.first_time

=

‘2018-08-30

00:00:00′

AND

EXISTS

(

SELECT

*

FROM

jx_strategy

js

WHERE

js.jx_lesson_plan_order_id

=

a.id

AND

js.

STATUS

IN

(2,

7)

AND

js.subject_id

IN

(2,

3)

)

ORDER

BY

a.update_time

DESC

LIMIT

0,

10

update

關聯變數條件修改

1、涉及的表關係:

user_info表中的

id_number(身份證號)

teacher表中的birth欄位、

關聯關係usrer_id

=

teacher_id

2、業務場景:獲取用戶身份證上的出生日期將出生日期更新在birth欄位

UPDATE

teacher

t

INNER

JOIN

(

SELECT

t.teacher_id,

t.birth,

u.id_number,

CONCAT(SUBSTRING(u.id_number,

7,

4),

‘-‘,

SUBSTRING(u.id_number,

11,

2),

‘-‘,

SUBSTRING(u.id_number,

13,

2))

as

birth1,

u.reg_date,

t.exit_time

from

teacher

t

INNER

JOIN

user_info

u

ON

u.user_id

=

t.teacher_id

)

info

on

info.teacher_id

=

t.teacher_id

SET

t.birth

=

info.birth1

WHERE

info.reg_date

‘2018-08-20

00:00:00′

and

info.id_number

is

not

NULL

and

(info.birth

is

NULL

or

t.birth

=

”)

and

t.is_train

=

1

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:MySQL在關聯複雜情況下所能做出的一些優化Mysql一些複雜的sql語句(查詢與刪除重複的行)深入mysql

“ON

DUPLICATE

KEY

UPDATE”

語法的分析MySQL

最基本的SQL語法/語句MySQL與Oracle的語法區別詳細對比淺析Mysql

Join語法以及性能優化MySQL

ALTER語法的運用方法MySQL

prepare語句的SQL語法MySQL進階SELECT語法篇MySQL

SQL

語法參考

PHP同時連接多個mysql資料庫示例代碼

這篇文章主要介紹了PHP同時連接多個mysql資料庫的具體實現,需要的朋友可以參考下

實例:

代碼如下:

?php

$conn1

=

mysql_connect(“127.0.0.1”,

“root”,”root”,”db1″);

mysql_select_db(“db1”,

$conn1);

$conn2

=

mysql_connect(“127.0.0.1”,

“root”,”root”,”db2″);

mysql_select_db(“db2”,

$conn2);

$sql

=

“select

*

from

ip”;

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0].”n”;

$sql

=

“select

*

from

web

“;

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0];

?

這段代碼存在問題,在程序執行時會報錯:PHP

Warning:

mysql_fetch_array()

expects

parameter

1

to

be

resource,

boolean

given

in

….

原因分析:

程序開始建立兩個資料庫鏈接,函數mysql_query()原型:

resource

mysql_query

(

string

$query

[,

resource

$link_identifier

]

)

向與指定的連接標識符關聯的伺服器中的當前活動資料庫發送一條查詢。如果沒有指定

link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數調用

mysql_connect()

函數來建立一個連接並使用之。查詢結果會被緩存。

在本例中由於沒有指定link_identifier,所以,在執行第一條sql時,默認使用的是上一個打開的鏈接,即$conn2,而實際上第一條sql語句應該使用的是$conn1,所以導致報錯,所以為了能夠鏈接多個mysql資料庫,可以使用如下方法:

方法1:在mysql_query函數中指定所用連接,即:

代碼如下:

?php

$conn1

=

mysql_connect(“127.0.0.1”,

“root”,”root”,”db1″);

mysql_select_db(“Muma”,

$conn1);

$conn2

=

mysql_connect(“127.0.0.1”,

“root”,”root”,”db2″);

mysql_select_db(“product”,

$conn2);

$sql

=

“select

*

from

ip”;

$query

=

mysql_query($sql,$conn1);

//添加連接$conn1

if($row

=

mysql_fetch_array($query))

echo

$row[0].”n”;

$sql

=

“select

*

from

web

“;

$query

=

mysql_query($sql,

$conn2);

if($row

=

mysql_fetch_array($query))

echo

$row[0];

?

方法2:在sql語句中關聯所用資料庫,此時可以省略mysql_query的第二個參數,即:

代碼如下:

?php

$conn1

=

mysql_connect(“127.0.0.1”,

“root”,”root”,”db1″);

mysql_select_db(“db1”,

$conn1);

$conn2

=

mysql_connect(“127.0.0.1”,

“root”,”root”,”db2″);

mysql_select_db(“db2”,

$conn2);

$sql

=

“select

*

from

db1.ip”;

//關聯資料庫

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0].”n”;

$sql

=

“select

*

from

db2.web

“;

$query

=

mysql_query($sql);

if($row

=

mysql_fetch_array($query))

echo

$row[0];

?

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

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

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何修改mysql的埠號

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

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • 北化教務管理系統介紹及開發代碼示例

    本文將從多個方面對北化教務管理系統進行介紹及開發代碼示例,幫助開發者更好地理解和應用該系統。 一、項目介紹 北化教務管理系統是一款針對高校學生和教職工的綜合信息管理系統。系統實現的…

    編程 2025-04-29

發表回復

登錄後才能評論