一、插入記錄操作
語法: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;
用新數據填充表-SQL學習
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.