用新數據填充表-SQL學習

 一、插入記錄操作
    語法:INSERT INTO 表名 (列名) VALUES (列值);  
    敘述:若在輸入記錄時,每個字段均有內容,可省略表名後的字段名。如果表名後面沒寫字段名,則默認是向所有的字段添加值。
    注意事項:1. 插入的值必須和列一一對應,各數據項用逗號分隔;
              2. 插入值的數據類型、精度和小數位數必須和對應列的數據類型、精度和小數位數相一致;
              3. 如果在設計表的時候就指定了某列不允許爲空,則必須插入數據;
              4. 如果某列的某個字段沒有值,可以插入 NULL 值;
              5. 具有缺省值的列,可以使用DEFAULT(缺省)關鍵字來代替插入的數值;
              6. 字符串和日期值數據必須用單引號括起來,數值型數據不用括起;
              7. 所有標點符號一律在英文半角狀態下輸入。
     例1:向 people 表中添加一條記錄:insert into people(name,age)values("zhangsan",20);
     例2:創建一個表格 TEAMS 來記錄籃球隊:CREATE TABLE TEAMS(TEAM_ID INTEGER(2) NOT NULL,NAME  VARCHAR(20) NOT NULL );
          生成籃球隊的記錄:INSERT INTO TEAMS VALUES (1,'STRING MUSIC');
                            INSERT INTO TEAMS VALUES (2,'HACKERS');
                            INSERT INTO TEAMS VALUES (3,'SHARP SHOOTERS');
                            INSERT INTO TEAMS VALUES (4,'HAMMER TIME');
     例3:創建一張學生信息表,往表中插入數據:create table Students( Scode  int   not null  auto_increment, Sname  varchar(20)  not null,
          Saddress varchar(20)  default'未知', Sgrade  int, SEmail  varchar(20), Ssex  bit, primary key(Scode) );
         INSERT INTO Students (Sname,Saddress,Sgrade,SEmail,Ssex)VALUES ('張青裁','上海松江',96,'[email protected]', 0) ;
         INSERT INTO Students (Sname,Saddress,Sgrade,SEmail,Ssex)VALUES ('李曉明','北京海淀',75,'[email protected]', 1) ;
         INSERT INTO Students (Sname,Saddress,Sgrade,SEmail,Ssex)VALUES ('王晶晶', default, 83, '[email protected]', 1) ;
二、插入多行數據
         INSERT INTO 表名 (列名) VALUES (列值), (列值), (列值) …… ;
    例4:往學生信息表中插入多行數據:
         INSERT  Students (Sname,Sgrade,Ssex) VALUES
         ('測試女生1',75,0),
         ('測試女生2',77,0),
         ('測試女生3',83,0),
         ('測試男生1',81,1), 
         ('測試女生4',90,0),
         ('測試男生2',94,1),
         ('測試女生5',51,0),
         ('測試男生3',53,1);
三、從另一個表插入數據
         INSERT INTO 表名 (列名)
         SELECT (列名) FROM 源表名;
    這裏,SELECT 是執行查詢的主要命令,下一章我們會詳細介紹;FROM 是查詢中的一個子句,用於指定要查詢的表的名稱。        
    例1:把學生信息表中的部分數據插入通訊錄表裏:
         INSERT INTO TongXunLu (姓名, 地址, 電子郵件) 
         SELECT Sname, Saddress, SEmail FROM Students;
    例2:把 TEAMS 表裏的數據插入 TEAMS_TMP 表裏:
         INSERT INTO TEAMS_TMP
         SELECT * FROM TEAMS;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章