mysql的增_MySQL之增_insert-replace

MySQL增刪改查之增insert、replace

一、INSERT語句

帶有values子句的insert語句,用于數據的增加

語法:

INSERT [INTO] tbl_name[(col_name,...)]

{VALUES | VALUE} (expr ,...),(...),...

①用來把一個新行插入到表中

②為和其它數據庫保持一致,不要省略INTO關鍵字以及使用VALUES而不是value關鍵字

③插入一行時,要求必須對該行所有的列賦值。但是賦值方式可以是顯式賦值(直接給出值)和隱式賦值(由MySQL自動賦值)

基本格式:

insert into (列名1,列名2,列名3,......) ?values (值1,值2,值3,......);

解析:

①(列名1,列名2,列名3,......)稱為 列清單

②(值1,值2,值3,......)稱為 值清單

③列清單和值清單中的列和值必須相互對應(數據類型)

1、在表名后面列出所有的列名

示例:插入一個新的球隊到teams表中

mysql> INSERT INTO teams(teamno,playerno,division) VALUES(3,6,'third');

2、在表名后面省略所有的列名

要求:VALUES子句中的值必須按照列在表結構中的順序來一一賦值

mysql> INSERT INTO teams VALUES(4,104,'third');

3、在表名后面只列出部分的列名

注意:所有沒有明確賦值的列,將通過隱式賦值自動得到null值

mysql> insert into (列名1,列名3......) ?values (值1,值3,......);

添加一個新行數據,沒有指定賦值的列,結果集改行數據的列名2處隱式賦null值

當然,可使用字面量NULL給列賦空值

mysql> insert into (列名1,列名2,列名3) ?values (值1,null,值3);

4、VALUES子句中除了字面量,還可以使用函數、計算、標量子查詢等

INSERT INTO (列1,列2)

VALUES((SELECT count(*) FROM 表名2),

(SELECT sum(列名) FROM 表名3));

注意:子查詢必須放在單獨的小括號中

一條INSERT語句可以插入多個行:

示例:添加4個新的球隊

INSERT INTO teams(teamno, captainno,division)

VALUES (6,7,'third'),

(7,27,'fourth'),

(8,39,'fourth'),

(9,112,'sixth');

注意:這種語法只要有1行出錯,則插入全部取消

INSERT語句中可以使用IGNORE選項來當INSERT語句出錯時,不顯示錯誤消息:但是INSERT語句不會執行

e3d1cb7ebca3a5df9e0b519e8ba58569.png

5、從其他表中復制數據:帶子查詢的INSERT語句,實現從其他表中(可按條件)復制數據進入目標表

語法:

INSERT [INTO] tbl_name[(col_name,...)]

SELECT ...

注意:

①如果在表名后面列出了列名,那么列的數量和數據類型必須和子查詢的select列表相匹配

②如果在表名后面沒有列出了列名,默認就是直接復制

insert....? select.... 語句常在需要進行數據表的備份時使用

無條件復制:將一個表中的原始數據記錄,插入到另一個表中

按條件copy:將一個表查詢出來的進行聚合操作之后的記錄,插入到目標表中

bed8397cdc7637a2bbb45139745d7ed0.png

當然,可以把本表中的行再次添加到本表中,但是必須注意主鍵值不要重復。

二、REPLACE語句:替代已有的行

INSERT語句的一個變種;

當添加新行時:

①如果主鍵值重復,那么就覆蓋表中已有的行

②如果沒有主鍵值重復,則插入該行

語法:

REPLACE [INTO] tbl_name [(col_name,...)]

VALUES (expr,...),(...),...

或者

REPLACE [INTO] tbl_name [(col_name,...)]

SELECT ...

83cedd64228c46faa1649a08f1390943.png

(轉)mysql自增列導致主鍵重復問題分析

mysql自增列導致主鍵重復問題分析... ?原文:http://www.cnblogs.com/cchust/p/3914935.html 前幾天開發童鞋反饋一個利用load data infile ...

關于MySQL自增主鍵的幾點問題(上)

前段時間遇到一個InnoDB表自增鎖導致的問題,最近剛好有一個同行網友也問到自增鎖的疑問,所以抽空系統的總結一下,這兩個問題下篇會有闡述. 1. 劃分三種插入類型 這里區分一下幾種插入數據行的類型,便 ...

MySQL AutoIncrement--自增鎖模式

自增鎖模式 在MYSQL 5.1.22版本前,自增列使用AUTO_INC Locking方式來實現,即采用一種特殊的表鎖機制來保證并發插入下自增操作依然是串行操作,為提高插入效率,該鎖會在插入語句完成 ...

MySQL自增ID 起始值 修改方法

在mysql中很多朋友都認為字段為AUTO_INCREMENT類型自增ID值是無法修改,其實這樣理解是錯誤的,下面介紹mysql自增ID的起始值修改與設置方法. 通常的設置自增字段的方法: 創建表格時 ...

Java連接MySQL數據庫增刪改查通用方法

版權聲明:本文為博主原創文章,未經博主允許不得轉載. Java連接MySQL數據庫增刪改查通用方法 運行環境:eclipse+MySQL 以前我們Java連接MySQL數據庫都是一個數據庫寫一個類,類 ...

node.js中對 mysql 進行增刪改查等操作和async,await處理

要對mysql進行操作,我們需要安裝一個mysql的庫. 一.安裝mysql庫 npm install mysql --save 二.對mysql進行簡單查詢操作 const mysql = requ ...

MySQL數據庫(增刪改查語句)

MySQL數據庫(增刪改查語句)一.登錄數據庫:---->? mysql -uroot -proot;(對應用戶名和密碼)二.SQL語句:?? ?數據定義語言DDL? 用來定義數據庫.表.列,關 ...

python操作mysql數據庫增刪改查的dbutils實例

python操作mysql數據庫增刪改查的dbutils實例 # 數據庫配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用單引 ...

Nodejs連接mysql的增、刪、改、查操作

一,創建數據庫 Source Database : my_news_test SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ...

Mysql自增ID起始值修改

在mysql中很多朋友都認為字段為AUTO_INCREMENT類型自增ID值是無法修改,其實這樣理解是錯誤的,下面介紹mysql自增ID的起始值修改與設置方法.通常的設置自增字段的方法:創建表格時添加 ...

隨機推薦

常用function() 收集

1.隨機數生成函數(來源-微信支付demo案例) /** * * 產生隨機字符串,不長于32位 * @param int $length * @return 產生的隨機字符串 */ public st ...

svg坐標系變換

svg的坐標變換有三個屬性來決定:viewport, viewBox, 和 preserveAspectRatio,我發現三篇比較詳細的博客,轉載如下: 理解SVG坐標系和變換:視窗,viewBox和 ...

JavaScript中字符串去掉特殊字符和轉義字符

/*** * 去掉字符串中的特殊字符 */ var excludeSpeci ...

從配置sublimeClang插件中學到的

1.不害怕失敗的關鍵在于要事先為失敗準備補救措施.2.人們害怕內部結構復雜的東西出錯,并以自己缺乏對內部結構的認識為理由而放棄查錯.其實某些情況下根本無需對內部結構有多么深入的認識,只需從外部觀察就夠 ...

C++ Primer : 第十二章 : 動態內存之動態數組

動態數組的分配和釋放 new和數組 C++語言和標準庫提供了一次分配一個對象數組的方法,定義了另一種new表達式語法.我們需要在類型名后跟一對方括號,在其中指明要分配的對象的數目. int* arr ...

Altium Designer 里面怎么畫等長線

(1)一般是將走線布完后,新建一個class. Design -> Classes 如上圖添加完后可以點擊close. (2)快捷鍵 T + R: 或者 點擊Tools 下拉中的Interact ...

條款05:了解C++默默編寫并調用哪些函數

每一個class都會有一個或多個構造函數.一個析構函數.一個copy assignment操作符.這些控制著基礎操作,像是產出新對象并確保它被初始化.擺脫舊對象并確保它被適當清理.以及賦予對象新值. ...

PHP命名空間(Namespace)的使用詳解

對于命名空間,官方文檔已經說得很詳細[查看],我在這里做了一下實踐和總結. 命名空間一個最明確的目的就是解決重名問題,PHP中不允許兩個函數或者類出現相同的名字,否則會產生一個致命的錯誤.這種情況下只 ...

Linux shell腳本學習(一)

一.shell腳本簡介 shell腳本是用shell腳本語法將shell命令組織起來形成的文件形式.Shell腳本與Windows/Dos 下的批處理相似,主要為了將大量命令通過一個純文本文件一次執行 ...

Maven高級應用--編譯全模塊包-dist包

1. 在需要生成dist包的模塊級別,新建文件夾xxx-xxxx-dist 2. 進入目錄,新建pom.xml,建議copy 3. dependencies節點,把要編譯成全局包的應用引入進來 &lt ...

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529514.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529514.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529514.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python manager詳解_python 多進程共享全局變量之Manager()詳解

Manager支持的類型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue,Value和Array。但當使用Manager處理list、dict等可變數據類型時,需要注意一個陷阱,即Manager對象無法監測到它引用的可變對象值的修改&#xff0c…

java 添加等待時間_Java中線程等待特定時間的最有效方法 - java

我知道這個問題here,但是我有一個稍微不同的問題。如果我希望自己通過各種Thread方法(而不是通過實用程序類或Quartz)手動編碼某個線程在特定時間的運行,那么最有效(就開銷而言)進行編碼。我考慮過:boolean wasInterrupted false;while (System.current…

PHP微信app接口退款,10.PHP接入微信退款接口

推薦文章摘要環境搭建開啟配置服務器環境核心類驗證回復拓展推薦文章今天網上和朋友圈炸開了鍋,原因是微信小程序正式上線了。吃瓜群眾表示不理解,于是去搜了下。不搜不要緊,搜了嚇一跳,原來微信小程序早在2016年9月份就已經進行了…

java線程讀取流的時候卡死,java – 線程中斷沒有結束阻塞調用輸入流讀取

我正在使用RXTX從串口讀取數據.讀取是在以下列方式生成的線程內完成的:CommPortIdentifier portIdentifier CommPortIdentifier.getPortIdentifier(port);CommPort comm portIdentifier.open("Whatever", 2000);SerialPort serial (SerialPort)comm;..…

php poi,GitHub - satthi/poi-php: poi-php

poi-phpvarsion 0.1(2013/10/21)このプラグインはJavaのpoiをPHPから叩いてエクセルを入出力するプラグインです。必須要件jdk1.7.0_40poi-3.9opencsv-2.3使い方①poi-phpを任意の場所に設置②PHPを記述//デフォルト読み込みrequire_once(poi-php.phpのディレクトリパス);$this…

php hmac sha256簽名,HMAC-SHA256簽名錯誤?

#2.連接商戶key:act_name3333321ss&client_ip118.89.65.223&mch_billnoa0000000000000000001&mch_id1529243621&nonce_str905Qh0J59d69JjDtD7QkyRAm576kh5hU&re_openidoiW0l03-60UfHJfo0olLt3wOLb0E&remark111&remark222dddd&send_…

php傳輸的多個id集中為一條記錄,如何將多個ID應用于Mysql中的一條記錄?

在實體關系語言中,這稱為多對多關系.一個產品可以有多個類別,一個類別可以有多個產品.要在關系數據庫中執行此操作,您需要三個表.product: product_id, name, description, etccategory: category_id, catname, catdescription, etc然后用這個所謂的聯接表建立產品和類別之間的…

php redis 傳遞閉包,通過緩存構建高性能 Laravel 應用

通過緩存構建高性能 Laravel 應用由 學院君 創建于3年前, 最后更新于 11個月前版本號 #220678 views9 likes1 collects配置Laravel 為不同的緩存系統提供了統一的 API。緩存配置位于 config/cache.php。在該文件中你可以指定在應用中默認使用哪個緩存驅動。Laravel 開箱支持主流…

imclearboder matlab,Lucas

Lucas-Kanade跟蹤算法是視覺跟蹤中一個很經典的基于點的逐幀跟蹤算法。起初這個算法是用來求解stero matching1的,后來經過Carlo Tomasi2和Jianbo Shi3等人的發展漸趨成熟。Jianbo Shi提出了一種篩選跟蹤點特征的方法,使得特征的跟蹤更可靠。Jean-Yves B…

php判斷url參數為空,PHP檢查url鏈接是否已經有參數的簡單示例

這篇文章主要為大家詳細介紹了PHP檢查url鏈接是否已經有參數的簡單示例,具有一定的參考價值,可以用來參考一下。感興趣的小伙伴,下面一起跟隨512筆記的小編小韻來看看吧!比如分頁,因為有些鏈接已經有參數了&#xff0c…

java 讀取 郵件 附件,JavaMail 中對附件下載的處理

在項目中使用 JavaMail 作為郵件核心庫,但是一直遇到一個比較頭疼的問題,當郵件中存在附件時,此封郵件加載速度很慢,最高時之后 80k/s.通過 log 打印看出,當獲取附件時,獲取一段之后等待一段時間在獲取另一端.導致 io 開銷過大,等待網絡讀取時間過長.相關日志如下:O24 FETCH 27…

matlab求勒讓德多項式零點,有沒有勒讓德多項式導數 零點程序

求N1次勒讓德多項式的m(m0,1,...)階導數零點Matlab程序子程序:function xjp(N,alpha,beta)n1:N;a(1)(alphabeta2)/2;b(1)(beta-alpha)/2;a([2:N1])(2*nalphabeta1).*(2*nalphabeta2)./(2*(n1).*(nalphabeta1));b([2:N1])(alpha*alpha-beta*beta)*(2*nalphabeta1)./(…

js_long.php,protobuf.js 與 Long.js的使用詳解

這次給大家帶來protobuf.js 與 Long.js的使用詳解,是急用protobuf.js 與 Long.js的注意事項有哪些,下面就是實戰案例,一起來看一下。protobuf.js的結構和webpack的加載之后的結構很相似。這樣的模塊化組合是個不錯的結構方式。1個是適應了不同…

微分進化算法解決函數優化問題的matlab代碼,Matlab微分進化算法及優化函數測試...

微分進化(Difference Evolution,DE)算法是一種優化算法,據稱其比GA(遺傳算法)等更為優秀。借鑒網上實現的DE算法,用Matlab實現了對若干函數優化問題的解法,代碼如下:function [] de_testclear all;close all;clc;%解&…

Oracle中獲取文件中的數據,操作oracle中的數據文件

收藏于http://dev.yesky.com/296/8090796.shtmlOracle數據庫中管理表空間和數據文件數據庫的三大組成部分:數據文件,控制文件,Redo日志。表空間分為系統表空間和非系統表空間。SYSTEM表空間是最基本的,必須的,Oracle建議你為用戶數…

oracle 存儲過程設置回滾點,(轉)oracle 存儲過程事宜使用斷點回滾 -savepoint

學習存儲過程中使用斷點回滾事務時,發現目前網絡上存在一個問題,那就是使用斷點回滾后,都忘記了一個很重要的事情,提交事務。雖然使用了斷點回滾,但是斷點回滾不像rollBack或commit一樣結束當前事務,而使用…

php tp5清空數據表并主鍵,tp5數據庫——更新數據

更新數據更新數據表中的數據Db::table(think_user)->where(id, 1)->update([name > thinkphp]);如果數據中包含主鍵,可以直接使用:Db::table(think_user)->update([name > thinkphp,id>1]);update 方法返回影響數據的條數,…

oracle幾個網絡,ORACLE網絡的幾個重點概念

數據庫名(DB_NAME)、數據庫實例名(INSTANCE_NAME)、操作系統環境變量ORACLE_SID、數據庫服務名 (SERVICE_NAME)、數據庫域名(DB_DOMAIN)以及全局數據庫名(GLOBAL_DB_NAME)是幾個使用Oracle數據庫容易混 淆的概念。1、數據庫名與實例名數據庫名(DB_NAME):是區分數據的…

oracle每季度補丁,Oracle 2020 年第四季度補丁發布

半個月前,也就是 10 月 20 日, Oracle 發布了今年最后一次補丁更新,那么很多人都想打最新的 PSU,理由是有被掃到各種漏洞,有的掃描工具著實太坑,這里就不用說了,前幾天看到蓋總發布的文章2020年…

php flash上傳進度條,PHP_PHP+FLASH實現上傳文件進度條相關文件 下載,PHP之所以很難實現上傳進度條 - phpStudy...

PHPFLASH實現上傳文件進度條相關文件 下載PHP之所以很難實現上傳進度條是因為在我們上傳文件到服務器的時候,要等到文件全部送到服務器之后,才執行相應的php文件。在這之前,文件數據保存在一個臨時文件里面,而php無法獲得這個文件…