主頁 > 知識(shí)庫 > MySQL入門(四) 數(shù)據(jù)表的數(shù)據(jù)插入、更新、刪除

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

熱門標(biāo)簽:服務(wù)外包 AI電銷 百度競價(jià)排名 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) 呼叫中心市場需求 Linux服務(wù)器

序言

數(shù)據(jù)表的插入、更新、刪除非常簡單,但是簡單的也要學(xué)習(xí),細(xì)節(jié)決定成敗。

                                         ---WH

一、插入數(shù)據(jù)

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

      創(chuàng)建環(huán)境

        使用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、為表的所有字段插入數(shù)據(jù)

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

                    

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

                  

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

                  

        總結(jié):

          方式一和方式三說明插入數(shù)據(jù)時(shí)可以不用按照表結(jié)構(gòu)中的順序來,只要給的值與前面字段名一一對(duì)應(yīng)即可,

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

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

    1.2、為表的指定字段插入數(shù)據(jù)

          在有時(shí)候,給表中插入記錄行時(shí),字段值不一定要全部都需要手動(dòng)插入,可能id自動(dòng)增長的,也有時(shí)某個(gè)字段使用默認(rèn)值,不用插入值也行,這時(shí)候就需要為表指定字段來插入數(shù)據(jù)了。

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

                  

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

    1.3、同時(shí)插入多條記錄

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

          解釋:也就是相當(dāng)于一條語句插入多條記錄,就不用每次只插入一條數(shù)據(jù)了

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

                  

          同時(shí)插入多條記錄時(shí),會(huì)出現(xiàn)三個(gè)名詞 Records:表明插入的記錄條數(shù)  Duplicates:表名插入時(shí)被忽略的記錄,原因可能是這些記錄包含了重復(fù)的主鍵值  Warnings:表明有問題的數(shù)據(jù)值,例如發(fā)生數(shù)據(jù)類型轉(zhuǎn)換。 上面提示的是 2個(gè)Records,確實(shí)是插入了兩條記錄數(shù)

    1.4、將查詢結(jié)果插入到表中

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

          上面一張person表不夠用,現(xiàn)在在創(chuàng)建一張表。

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

                  

          現(xiàn)在將person_old表中的所有數(shù)據(jù)轉(zhuǎn)移到person表中。

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

                  

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

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

                    

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

       

二、更新數(shù)據(jù)

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

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

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

                

            解釋:原本第二行的記錄name=aaa?,F(xiàn)在改為了xxx??梢酝瑫r(shí)改好多個(gè)值,不一定就只更改名字。主鍵id也能更改,只要主鍵不沖突,隨便改成什么值

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

                    

三、刪除數(shù)據(jù)  

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

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

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

                

        DELETE FROM person;  //將person表中所有數(shù)據(jù)度刪除

                

四、綜合案例

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

        4.1、創(chuàng)建實(shí)驗(yàn)環(huán)境

            創(chuàng)建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

            );

            

      

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

               

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

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

          4.2.3、同時(shí)插入多條記錄

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

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

      4.7、刪除庫存為5的記錄

您可能感興趣的文章:
  • php中批量刪除Mysql中相同前綴的數(shù)據(jù)表的代碼
  • MySQL創(chuàng)建和刪除數(shù)據(jù)表的命令及語法詳解
  • 刪除mysql數(shù)據(jù)表如何操作
  • MySQL刪除表數(shù)據(jù)的方法
  • mysql drop database刪除數(shù)據(jù)庫命令實(shí)例講解
  • mysql查找刪除重復(fù)數(shù)據(jù)并只保留一條實(shí)例詳解
  • MySQL實(shí)現(xiàn)快速刪除所有表而不刪除數(shù)據(jù)庫的方法
  • MySQL刪除數(shù)據(jù)Delete與Truncate語句使用比較
  • MySQL 刪除數(shù)據(jù)庫中重復(fù)數(shù)據(jù)方法小結(jié)
  • Mysql刪除數(shù)據(jù)以及數(shù)據(jù)表的方法實(shí)例

標(biāo)簽:黃山 崇左 仙桃 湖南 蘭州 銅川 湘潭 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL入門(四) 數(shù)據(jù)表的數(shù)據(jù)插入、更新、刪除》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266