麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

MySQL入門(四) 數據表的數據插入、更新、刪除

2024-07-25 19:08:43
字體:
來源:轉載
供稿:網友

序言

數據表的插入、更新、刪除非常簡單,但是簡單的也要學習,細節決定成敗。

                                         ---WH

一、插入數據

      格式:INSERT INTO 表名(字段名...)VALUES(值...);

      創建環境

        使用person表

        CREATE TABLE person

        (  

          id INT UNSIGNED NOT NULL AUTO_INCREMENT,

          name CHAR(40) NOT NULL DEFAULT '',

          age INT NOT NULL DEFAULT 0,

          info CHAR(50) NULL,

          PRIMARY KEY(id)

        );

    1.1、為表的所有字段插入數據

        方式一:INSERT INTO person(id,name,age,info) VALUES(1,'Green',21,'Lawyer'); 

                  MySQL,數據表,數據插入,更新,刪除  

        方式二:INSERT INTO person VALUES(2,'aaa',18,'MAN');

                  MySQL,數據表,數據插入,更新,刪除

        方式三:INSERT INTO person (name,id,age,info) VALUES('bbb',3,17,'haha');

                  MySQL,數據表,數據插入,更新,刪除

 

        總結:

          方式一和方式三說明插入數據時可以不用按照表結構中的順序來,只要給的值與前面字段名一一對應即可,

          方式二表明可以忽略字段名,但是其值必須跟表結構中的字段順序一樣。

          使用這三種方式去為所有字段插入數據都可以。

    1.2、為表的指定字段插入數據

          在有時候,給表中插入記錄行時,字段值不一定要全部都需要手動插入,可能id自動增長的,也有時某個字段使用默認值,不用插入值也行,這時候就需要為表指定字段來插入數據了。

          INSERT INTO person(name,age,info) VALUES('Willam',20,'sports man');

                  MySQL,數據表,數據插入,更新,刪除

          這里就缺少了id字段,但是id字段是AUTO_INCREMENT,不用我們手動插入值

    1.3、同時插入多條記錄

          格式:INSERT INTO 表名(字段名) VALUES(記錄行值1),(記錄行值2),...;

          解釋:也就是相當于一條語句插入多條記錄,就不用每次只插入一條數據了

          INSERT INTO person(name,age,info) VALUES('qqq',19,'haha'),('eee',14,'heihei');  //插入兩條數據。

                  MySQL,數據表,數據插入,更新,刪除

          同時插入多條記錄時,會出現三個名詞 Records:表明插入的記錄條數  Duplicates:表名插入時被忽略的記錄,原因可能是這些記錄包含了重復的主鍵值  Warnings:表明有問題的數據值,例如發生數據類型轉換。 上面提示的是 2個Records,確實是插入了兩條記錄數

 

    1.4、將查詢結果插入到表中

          在有的時候,可能需要將一張表中的數據搬到另一張表中,但是一條條輸入記錄,很慢,所以就有了這個將查詢結果插入到表中,也就是說,將一張表中查詢到的結果,全部一次性插入到另一張表中,這樣就很方便了,但是也有前提條件,那就是查詢的結果的字段個數和插入到目標表的字段個數是一樣的,并且數據類型也要相同。具體下下面這個例子。

          上面一張person表不夠用,現在在創建一張表。

          CREATE TABLE person_old

          (

            id INT UNSIGNED NOT NULL AUTO_INCREMENT,

            name CHAR(40) NOT NULL DEFAULT '',

            age INT NOT NULL DEFAULT 0,

            info CHAR(50) NULL,

            PRIMARY KEY(id)

          );  

          增加兩條記錄

          INSERT INTO person_id VALUES(11,'Harry',20,'studeng'),(12,'Beck',18,'polic');

                 MySQL,數據表,數據插入,更新,刪除 

          現在將person_old表中的所有數據轉移到person表中。

          INSERT INTO person(id,name,age,info) SELECT id,name,age,info FROM person_old;

                 MySQL,數據表,數據插入,更新,刪除 

          這樣看一下,id中間就好像斷了一塊,其實可以不用添加id字段,只添加后面三個字段的值

          INSERT INTO person(name,age,info) SELECT name,age,info FROM person_old; 

                 MySQL,數據表,數據插入,更新,刪除   

          不指定id,那么就會按照person表中id的規則,AUTO_INCREMENT,這里說明一下AUTO_INCREMENT的原理,先檢查表中最大的id值,然后往上面加1,每次做就會先檢測最大的id值是多少。           

       

二、更新數據

    格式:UPDATE 表名 SET 字段名=值,字段名=值... WHERE 條件;

    解釋:通過條件找到要更新數據的那一行記錄,然后通過SET 字段名=值這樣的形式,寫出要更改哪個字段,并更改為什么值。

       UPDATE person SET name = 'xxx' WHERE name='aaa';  //將person表中name=aaa的記錄行更新為name=xxx。

                MySQL,數據表,數據插入,更新,刪除

            解釋:原本第二行的記錄name=aaa。現在改為了xxx。可以同時改好多個值,不一定就只更改名字。主鍵id也能更改,只要主鍵不沖突,隨便改成什么值

        UPDATE person SET id = 7 WHERE id = 14;  //將id=14的記錄行的id改為7

                MySQL,數據表,數據插入,更新,刪除    

三、刪除數據  

        格式:DELETE FROM 表名[WHERE <condition>];

        解釋:條件如果沒有的話,那么就把表中所有數據度給刪除了。如果有條件的話,就將符合條件的記錄行刪除。

        DELETE FROM person WHERE id = 13;  //將person表中id=13的記錄行給刪除。

                MySQL,數據表,數據插入,更新,刪除

        DELETE FROM person;  //將person表中所有數據度刪除

                MySQL,數據表,數據插入,更新,刪除

四、綜合案例

      下面這個例題想做的人可以做一下,環境已經教大家搭建好了,這些由于比較簡單,我就不在這里一一解答了。

        4.1、創建實驗環境

            創建books表  

            CREATE TABLE books

            (

              id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

              name VARCHAR(40) NOT NULL,

              author VARCHAR(200) NOT NULL,

              PRICE INT(11) NOT NULL,

              pubdate YEAR NOT NULL,

              note VARCHAR(255) NULL,

              num INT NOT NULL DEFAULT 0

            );

            MySQL,數據表,數據插入,更新,刪除

      

       4.2、將下表中的路基插入books表中,分別使用不同的方法插入記錄。

              MySQL,數據表,數據插入,更新,刪除 

          4.2.1、指定所有字段名稱插入記錄

          4.2.2、不指定字段名稱插入記錄

          4.2.3、同時插入多條記錄

      4.3、將小說類型novel的書的價格度增加5

      4.4、將名稱為趙六的書的價格改為40,并將庫存量num改為26

      4.7、刪除庫存為5的記錄


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品视频2 | 护士hd欧美free性xxxx | 中文在线日韩 | av电影在线观看网址 | 福利在线小视频 | 欧美一级毛片免费观看 | av在线免费不卡 | 黄色网址进入 | 一级做人爱c黑人影片 | 日本高清视频网站www | 成人偷拍片视频在线观看 | 99精品国产成人一区二区 | 午夜视频你懂的 | 91久久国产综合久久91精品网站 | 色视频在线 | 国产1区在线观看 | 精品国产一区二区三区四区在线 | 午夜精品久久久久久中宇 | 国产成人视屏 | 91精品国产综合久久婷婷香蕉 | 曰本三级日本三级日本三级 | 性欧美一区二区 | 欧美日本日韩 | 亚洲第一视频 | 欧美一级毛片大片免费播放 | 九九热精品在线视频 | 亚洲人成网站免费播放 | 亚洲成人福利在线观看 | 欧美一级美国一级 | 一级电影在线免费观看 | 老司机一级毛片 | 国产一区二区精品免费 | 男女做性免费网站 | 国产精品久久久久无码av | 石原莉奈日韩一区二区三区 | 久久蜜桃香蕉精品一区二区三区 | 国产成人高清在线观看 | 国产成人高清在线 | hd极品free性xxx护士人 | 久久av免费 | 亚洲国产一区二区三区 |