SQL語句 求助 insert into values MYSQL
insert into dede_addonarticle (templets)
values(
ELT(round(rand()*2+1),'article_*','article_*','article_*')
) ;
這里使用到了mysql的字符串處理函數。ELT和round,rand
ELT解釋如下:
ELT(N,str1,str2,str3,。)
若N = 1,則返回值為 str1 ,若N = 2,則返回值為 str2 ,以此類推。 若N 小于1或大于參數的數目,則返回值為 NULL 。 ELT() 是 FIELD()的補數。
round(rand()*2+1)
這里是為了生成1-3之前的隨機整數。
-----------------------------------------------------
好像你題目是給的5個。那么就修改round(rand()*2+1)為round(rand()*4+1),然后再ELT的參數列表里面添加上第4,5個字符串~就好了。。
-----------------------------------------------------
update dede_addonarticle set templets = ELT(round(rand()*4+1),'article_*','article_*','article_*','article_*','article_*') where 。
mysql 中的insert into 語句怎么進行循環插入信息
char name[10];
int time,sex,ID,age;//sex 中用0和1表示性別
int i;
for i=1 to 40
{
cout>time>>name>>sex>>ID>>age;
sprintf(szSqlText, "insert into mytable values(20,'Test',1,2000,3)");
if (mysql_query( mysql, szSqlText)) {//執行SQL語句出錯
cout
mysql insert into 語句能插入多少條
例如:
INSERT INTO projekts
VALUES (1,'outside house painting','Murphy'),
(2,'kitchen remodel','Valdez'),
(3,'wood floor installation','Keller'),
(4,'roofing','Jackson');
但是這句并非sql通用的語句,只能在mysql中使用。
insert into 語句怎么寫
插入書寫方式: 1、 INSERT INTO t1(field1,field2) VALUE('001','002'); 最好的做法明確插入的每一列,列于查錯,而且漏列的幾率會降低。
2、INSERT INTO t1 (field1,field2) values ('001','002'),('003','004')。
; 能夠批量插入數據最好批量插入,但是數據過于龐大時,最好分批次批量插入。 3、INSERT INTO t2 (field1,field2) SELECT col1,col2 FROM t1 WHERE ……; 這里由于可以指定插入到talbe2中的列,以及可以通過相對較復雜的查詢語句進行數據源獲取,可能使用起來會更加的靈活,但我們也必須注意,在指定目標表的列時,一定要將所有非空列都填上,否則將無法進行數據插入。
容易出錯的地方,當我們寫成如下方式3的變形簡寫格式: 變形: INSERT INTO t2 SELECT id, name, address FROM t1。 此時,如果略掉了目標表的列的話,則默認會對目標表的全部列進行數據插入,且SELECT后面的列的順序 必須和目標表中的列的定義順序完全一致 才能完成正確的數據插入,這是一個很容易被忽略的地方,值得注意。
擴展資料 結構化查詢語言(SQL)語句結構 結構化查詢語言的3個部分: 一:數據查詢語言(DQL:Data Query Language) 其語句,也稱為“數據檢索語句”,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。
這些DQL保留字常與其他類型的SQL語句一起使用。 二:數據操作語言(DML:Data Manipulation Language) 其語句包括動詞INSERT,UPDATE和DELETE。
它們分別用于添加,修改和刪除表中的行。也稱為動作查詢語言。
三:事務處理語言(TPL) 它的語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括BEGIN TRANSACTION,COMMIT和ROL 參考資料來源:百度百科 結構化查詢語言(SQL) 。
怎么寫mysql insert into select循環語句
通過一條sql語句實現。具體情形是:有三張表a、b、c,現在需要從表b和表c中分別查幾個字段的值插入到表a中對應的字段。對于這種情況,可以使用如下的語句來實現:
INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name
當然,上面的語句比較適合兩個表的數據互插,如果多個表就不適應了。對于多個表,可以先將需要查詢的字段join起來,然后組成一個視圖后再select from就可以了:
INSERT INTO a(field1,field2) SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb
其中f1是表b的字段,f2是表c的字段,通過join查詢就將分別來自表b和表c的字段進行了組合,然后再通過select嵌套查詢插入到表a中,這樣就滿足了這個場景了,如果需要不止2個表,那么可以多個join的形式來組合字段。需要注意的是嵌套查詢部分最后一定要有設置表別名,如下:
SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb
即最后的as tb是必須的(當然tb這個名稱可以隨意取),即指定一個別名,否則在mysql中會報如下錯誤:
ERROR 1248 (42000): Every derived TABLE must have its own alias
即每個派生出來的新表都必須指定別名才可以的。
mysql insert語句注意什么
1. 基礎的Insert語句示例下面的語句向員工表插入一條新記錄。
在這個例子中,后的“values”指定要插入到表中的所有字段對應的值。INSERT INTO employee VALUES(100,'Thomas','Sales',5000);用SELECT語句來驗證數據是否插入成功。
SELECT * FROM employee;2. 只針對選定的字段插入值如果你只想向選定的字段插入值,你需要在INSERT語句中明確指定要插入的字段名字。 下面的代碼僅插入id和name列的數據INSERT INTO employee(id,name) VALUES(200,'Jason');以上代碼中,我們未對dept和salary列指定任何值。
所以,以上兩個字段的值為NULL,當我們用SELECT語句檢索數據時。需要注意的是,NULL不是指"NULL"字符串,SELECT語句使用"NULL"來表示這個字段的值是空的而已。
mysql> SELECT * FROM employee;+-----+--------+-------+--------+| id | name | dept | salary |+-----+--------+-------+--------+| 100 | Thomas | Sales | 5000 || 200 | Jason | NULL | NULL |+-----+--------+-------+--------+2 rows in set (0.00 sec)3. INSERT SET示例INSERT語句不僅僅可以使用"VALUE"關鍵字,也可以使用"SET"關鍵字。下面的例子與上面的例子結果一樣,但是使用的是SET關鍵字。
mysql> INSERT INTO employee SET id=300, name='Mayla';mysql> select * from employee;+-----+--------+-------+--------+| id | name | dept | salary |+-----+--------+-------+--------+| 100 | Thomas | Sales | 5000 || 200 | Jason | NULL | NULL || 300 | Mayla | NULL | NULL |+-----+--------+-------+--------+4.從另一個表中檢索數據插入下面的例子中,我們會使用INSERT 。 SELECT語句,這個語句可以從其他表中檢索數據,并插入到目標表。
下面的代碼從Contractor表中檢索所有數據并插入到Employee表。INSERT INTO employee SELECT * FROM contractor;SELECT語句中可以根據需要使用WHERE子句,用來檢索需要的從Contractor表插入到Employee表的數據。
INSERT INTO employee SELECT * FROM contractor WHERE salary >= 7000;注意:如果你使用oracle數據庫,你的SQL應該這樣寫"INSERT INTO employee AS SELECT * FROM contractor"。需要注意在MySQL中不適用AS關鍵字。
5.從其他表中選擇部分字段插入當然,你也可以從其他表中選擇部分字段的數據插入到你的表中。 下面的例子將從contractor表中選擇id,name字段的所有數據插入到employee表。
INSERT INTO employee(id,name) SELECT id,name FROM contractor;跟前面的例子一樣,可以使用WHERE子句過濾數據。INSERT INTO employee(id,name) SELECT id,name FROM contractor WHERE salary >= 7000;注意:如果employee表中已存在相同主鍵(這里的主鍵是id)的記錄,你會得到一條錯誤信息。
下面是一個示例錯誤信息,指出employee表中已經存在id為100的記錄。ERROR 1062 (23000): Duplicate entry '100' for key 'PRIMARY'6. 插入數據到指定分區如果創建了分區表(分區類型為range)并希望將輸入插入到指定分區,可以參考下面代碼。
將數據插入到分區p1中的employee表。INSERT INTO employee PARTITION (p1) VALUES(100,'Thomas','Sales',5000);注意:如果該分區的employee表中已包含相應的數據(這里是id=100的employee數據),你會得到如下錯誤信息。
ERROR 1729 (HY000): Found a row not matching the given partition set注意: 分區僅在MySQL5.6及以上版本可用。7. 插入數據到多個分區可以使用單條SQL語句將數據插入到多個分區。
下面的INSERT語句將id為100的記錄插入到p1分區,將id為200的記錄插入到p2分區。INSERT INTO employee PARTITION (p1, p2) VALUES(100,'Thomas','Sales',5000), (200,'Jason','Technology',5500);注意: 在上例中,如果MySQL往任意分區插入數據失敗,那么整個INSERT語句將失敗。
當然,這同樣僅能在MySQL5.6及以上版本使用。8. 在插入過程中忽略錯誤在一些場景中(比如:批處理),你可能希望忽略插入過程中MySQL產生的錯誤信息,你可以使用INSERT IGNORE語句。
比如:下面的例子會拋出錯誤信息,提示數據已經存在。mysql> INSERT INTO employee VALUES(100,'Thomas','Sales',5000);ERROR 1062 (23000): Duplicate entry '100' for key 'PRIMARY'要忽略上面的錯誤信息,可以使用INSERT IGNORE來替換INSERT語句(執行前請確保這條對應的主鍵已經存在)。
mysql> INSERT IGNORE INTO employee VALUES(100,'Thomas','Sales',5000);Query OK, 0 rows affected (0.00 sec)INSERT IGNORE僅僅只是忽略錯誤信息,不會進行其他任何處理。9. INSERT語句的默認值如果MySQL運行在strict模式下,并且在我們的INSERT語句中并未指定默認值,那么MySQL將拋出錯誤信息。
不過,如果MySQL并未啟用strict模式(這個是默認啟用的)時,同時INSERT語句沒有為字段指定值,那么MySQL會為該字段使用字段類型的默認值。 比如,bonus表的所有字段都不允許為空(not null)。
mysql> DESC bonus;+--------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | 。
一句簡單的MySql插入語句怎么寫
先是測試表
三列,自動增長id,name,以及datetime
mysql> CREATE TABLE test123 (
-> `id` INT AUTO_INCREMENT PRIMARY KEY,
-> `name` VARCHAR(10),
-> `datetime` DATETIME
-> );
Query OK, 0 rows affected (0.06 sec)
插入數據
mysql> INSERT INTO test123 (`name`, `datetime`)
-> VALUES('Hello', '2011-04-22 21:18:00');
Query OK, 1 row affected (0.03 sec)
查詢結果
mysql> select * from test123;
+----+-------+---------------------+
| id | name | datetime |
+----+-------+---------------------+
| 1 | Hello | 2011-04-22 21:18:00 |
+----+-------+---------------------+
1 row in set (0.02 sec)
轉載請注明出處華閱文章網 » insertinto語句mysql