欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在MySQL中使用序列的簡(jiǎn)單教程

 更新時(shí)間:2015年05月27日 10:13:44   投稿:goldensun  
這篇文章主要介紹了在MySQL中使用序列的簡(jiǎn)單教程,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識(shí),文中給出了基于PHP和Perl腳本的示例,需要的朋友可以參考下

序列是一組整數(shù)1,2,3,...中生成的順序。序列中經(jīng)常使用的數(shù)據(jù)庫(kù),因?yàn)楹芏鄳?yīng)用都需要一個(gè)表中的每一行包含一個(gè)獨(dú)特的值和序列提供了一個(gè)簡(jiǎn)單的方法來(lái)產(chǎn)生。本章介紹如何使用MySQL中的序列。
使用自動(dòng)遞增列:

在MySQL中使用序列最簡(jiǎn)單的方法是定義一個(gè)AUTO_INCREMENT列,剩下的事情留給MySQL處理。
實(shí)例:

試試下面的例子。這將創(chuàng)建表之后,它會(huì)在此表中它不是必需的記錄ID插入幾行,因?yàn)樗蒑ySQL自動(dòng)遞增。

mysql> CREATE TABLE insect
  -> (
  -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  -> PRIMARY KEY (id),
  -> name VARCHAR(30) NOT NULL, # type of insect
  -> date DATE NOT NULL, # date collected
  -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
  -> (NULL,'housefly','2001-09-10','kitchen'),
  -> (NULL,'millipede','2001-09-10','driveway'),
  -> (NULL,'grasshopper','2001-09-10','front yard');
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name    | date    | origin   |
+----+-------------+------------+------------+
| 1 | housefly  | 2001-09-10 | kitchen  |
| 2 | millipede  | 2001-09-10 | driveway  |
| 3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

獲取AUTO_INCREMENT值:

LAST_INSERT_ID()是一個(gè)SQL的函數(shù),可以用它在任何客戶端來(lái)了解如何發(fā)出SQL語(yǔ)句。否則PERL和PHH的腳本提供了獨(dú)特的功能來(lái)檢索的最后一個(gè)記錄的自動(dòng)遞增值。
PERL 例子:

使用mysql_insertid屬性來(lái)獲得查詢產(chǎn)生的AUTO_INCREMENT值。此屬性的訪問(wèn)是通過(guò)一個(gè)數(shù)據(jù)庫(kù)句柄或語(yǔ)句句柄,這取決于如何發(fā)出查詢。下面的示例引用,它通過(guò)數(shù)據(jù)庫(kù)句柄:

$dbh->do ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};

PHP 例子:

發(fā)出后產(chǎn)生一個(gè)AUTO_INCREMENT值的查詢,檢索的值調(diào)用mysql_insert_id():

mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

重編為一個(gè)現(xiàn)有的序列:

有可能出現(xiàn)這樣的情況:當(dāng)記錄從表中刪除了一部分要重新排序的所有記錄。這可以通過(guò)使用一個(gè)簡(jiǎn)單的技巧,但應(yīng)該非常小心,如果表是參加與其他表。

如果確定是不可避免的重測(cè)序的AUTO_INCREMENT列的方式,這樣做是從表中刪除列,然后重新添加它。下面的例子演示了如何使用這種技術(shù)在BUG重新編號(hào)的id值:

mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
  -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
  -> ADD PRIMARY KEY (id);

啟動(dòng)序列在一個(gè)的特殊的值:

默認(rèn)情況下,MySQL將開(kāi)始順序1,但在創(chuàng)建表的時(shí)候可以指定任何其他數(shù)字。下面的例子,MySQL將從100開(kāi)始順序。

mysql> CREATE TABLE insect
  -> (
  -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
  -> PRIMARY KEY (id),
  -> name VARCHAR(30) NOT NULL, # type of insect
  -> date DATE NOT NULL, # date collected
  -> origin VARCHAR(30) NOT NULL # where collected
);

或者也可以創(chuàng)建表,然后設(shè)置初始序列值A(chǔ)LTER TABLE。

mysql> ALTER TABLE t AUTO_INCREMENT = 100;


相關(guān)文章

  • 基于sql語(yǔ)句的一些常用語(yǔ)法積累總結(jié)

    基于sql語(yǔ)句的一些常用語(yǔ)法積累總結(jié)

    本篇文章是對(duì)一些常用的sql語(yǔ)句進(jìn)行了總結(jié)與分析,需要的朋友參考下
    2013-06-06
  • MySQL中的用戶創(chuàng)建與權(quán)限管理

    MySQL中的用戶創(chuàng)建與權(quán)限管理

    這篇文章主要介紹了MySQL中的用戶創(chuàng)建與權(quán)限管理,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 干掉一堆mysql數(shù)據(jù)庫(kù),僅需這樣一個(gè)shell腳本(推薦)

    干掉一堆mysql數(shù)據(jù)庫(kù),僅需這樣一個(gè)shell腳本(推薦)

    這篇文章主要介紹了干掉一堆mysql數(shù)據(jù)庫(kù),僅需這樣一個(gè)shell腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • mysql8.0.18下安裝winx64的詳細(xì)教程(圖文詳解)

    mysql8.0.18下安裝winx64的詳細(xì)教程(圖文詳解)

    這篇文章主要介紹了安裝mysql-8.0.18-win-x64的詳細(xì)教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • lnmp重置mysql數(shù)據(jù)庫(kù)root密碼的兩種方法

    lnmp重置mysql數(shù)據(jù)庫(kù)root密碼的兩種方法

    這篇文章給大家介紹了lnmp重置mysql數(shù)據(jù)庫(kù)root密碼的兩種方法,第一種方法通過(guò)腳本重置密碼,第二種方法通過(guò)命令修改,具體操作方法大家參考下本文
    2017-07-07
  • sql格式化工具集合

    sql格式化工具集合

    如果想要我們的SQL語(yǔ)句看起來(lái)很美觀,除了自己平時(shí)注意外,還有一個(gè)懶人方法
    2011-08-08
  • 淺談mysql密碼遺忘和登陸報(bào)錯(cuò)的問(wèn)題

    淺談mysql密碼遺忘和登陸報(bào)錯(cuò)的問(wèn)題

    下面小編就為大家?guī)?lái)一篇淺談mysql密碼遺忘和登陸報(bào)錯(cuò)的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 查看MySQL是否處于運(yùn)行狀態(tài)的常見(jiàn)方法

    查看MySQL是否處于運(yùn)行狀態(tài)的常見(jiàn)方法

    在管理 MySQL 數(shù)據(jù)庫(kù)的過(guò)程中,了解并掌握如何查看 MySQL 的運(yùn)行狀態(tài)至關(guān)重要,這不僅可以幫助我們及時(shí)發(fā)現(xiàn)潛在的問(wèn)題,還能確保數(shù)據(jù)庫(kù)系統(tǒng)的穩(wěn)定性和性能,本文將詳細(xì)介紹通過(guò)不同的方法來(lái)查看 MySQL 是否處于運(yùn)行狀態(tài)的常見(jiàn)方法
    2025-02-02
  • MySQL存儲(chǔ)過(guò)程使用實(shí)例詳解

    MySQL存儲(chǔ)過(guò)程使用實(shí)例詳解

    本文介紹關(guān)于在MySQL存儲(chǔ)過(guò)程游標(biāo)使用實(shí)例,包括簡(jiǎn)單游標(biāo)使用與游標(biāo)循環(huán)跳出等方法
    2013-11-11
  • MySQL中實(shí)用且高頻的SQL工具與腳本分享

    MySQL中實(shí)用且高頻的SQL工具與腳本分享

    這篇文章主要介紹了一些實(shí)用且高頻的?SQL?工具腳本代碼示例,涵蓋數(shù)據(jù)庫(kù)維護(hù)、性能優(yōu)化、數(shù)據(jù)操作等場(chǎng)景,適用于?MySQL、PostgreSQL?等主流數(shù)據(jù)庫(kù),希望對(duì)大家有所幫助
    2025-06-06

最新評(píng)論