多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

sql教程

SQL 教程

SQL 高級教程

SQL 函數

  • SQL 主機
  • SQL 總結
  • 實例/測驗

    拓展閱讀

    SQL 使用序列

    閱讀 (2179)

    SQL 使用序列

    序列是根據需要產生的一組有序整數:1, 2, 3 ... 序列在數據庫中經常用到,因為許多應用要求數據表中的的每一行都有一個唯一的值,序列為此提供了一種簡單的方法。

    本節闡述在 MySQL 中如何使用序列。

    使用 AUTO_INCREMENT 列:

    在 MySQL 中使用序列最簡單的方式是,把某列定義為 AUTO_INCREMENT,然后將剩下的事情交由 MySQL 處理:

    示例:

    試一下下面的例子,該例將會創建一張新表,然后再里面插入幾條記錄,添加記錄時并不需要指定記錄的 ID,因為該列的值由 MySQL 自動增加。

    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() 是一個 SQL 函數,可以用在任何能夠執行 SQL 語句地方。另外,Perl 和 PHP 各自提供了其獨有的函數,用于獲得最后一條記錄的 AUTO_INCREMENT 值。

    Perl 示例:

    使用 mysql_insertid 屬性來獲取 SQL 查詢產生的 AUTO_INCREMENT 值。根據執行查詢的方式不同,該屬性可以通過數據庫句柄或者語句句柄來訪問。下面的示例通過數據庫句柄取得自增值:

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

    PHP 示例:

    在執行完會產生自增值的查詢后,可以通過調用 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);

    重新編號現有序列:

    當你從表中刪除了很多記錄后,可能會想要對所有的記錄重新定序。只要略施小計就能達到此目的,不過如果你的表與其他表之間存在連接的話,請千萬小心。

    當你覺得不得不對 AUTO_INCREMENT 列重新定序時,從表中刪除該列,然后再將其添加回來,就可以達到目的了。下面的示例展示了如何使用這種方法,為 INSECT 表中的 ID 值重新定序:

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

    從特定值的序列

    默認情況下,MySQL 中序列的起始值為 1,不過你可以在創建數據表的時候,指定任意其他值。下面的示例中,MySQL 將序列的起始值設為 100:

    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
    );

    或者,你也可以先創建數據表,然后使用 ALTER TABLE 來設置序列的起始值:

    mysql> ALTER TABLE t AUTO_INCREMENT = 100;
    關閉
    程序員人生
    主站蜘蛛池模板: 最新日本免费一区二区三区中文 | 亚洲天堂欧美 | 欧美日本免费 | 日韩精品久久一区二区三区 | 欧美一级欧美三级在线观看 | 欧美日韩第一区 | 亚洲国产2017男人a天堂 | 日本在线观看www免费 | 第一福利在线观看永久视频 | h视频免费在线观看 | 国产精品亚洲精品爽爽 | 爱爱的免费视频 | 伊人蕉| 色费女人18毛片a级视频在线 | 久夜色精品国产一区二区三区 | 最近中文版字幕在线观看 | 欧美性大战久久久久久久蜜桃 | 韩日一级视频 | 亚洲欧美日韩在线精品一区二区 | 国产精品久久久久久一区二区 | 精品一久久香蕉国产二月 | 666精品国产精品亚洲 | 亚洲 欧美 校园 | 依人九九 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲视频在线看 | 中文乱码字字幕在线第5页 中文欧美日韩 | 欧美色久| 国产在线a不卡免费视频 | 欧美日本在线一区二区三区 | 日韩欧美在线综合 | 动漫精品欧美一区二区三区 | 久久精品亚洲精品国产欧美 | 日本不卡在线观看免费v | 国产欧美日韩在线一区二区不卡 | 猫咪www免费人成网站 | 一级白嫩美女毛片免费 | 日本综合在线 | 偷自拍第一页 | 女人天堂网在线观看2019 | 国产精品久久久久无码av |