MySQL如何添加數(shù)據(jù)insert命令
1. insert 語法格式
完整格式
insert [into] 表名[字段名1[, 字段名2]] value[s](值1, 值2),(值3, 值4);
省略字段名
省略字段名時(shí),必須依次添加所有段的值
insert [into] 表名 value(值1, 值2[, ...]);
只添加一條數(shù)據(jù)時(shí),也可以使用 insert ... set
命令
此方式無法插入空值 null
insert into 表名 set 字段名1=值[,字段名2=值];
2. 使用示例
a. 省略字段名
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶ID,主鍵且自增', `nickname` varchar(60) DEFAULT NULL COMMENT '用戶昵稱', `gender` tinyint(1) DEFAULT NULL COMMENT '性別', `age` mediumint(9) DEFAULT NULL COMMENT '年齡', `status` tinyint(1) DEFAULT '1' COMMENT '狀態(tài) 0 關(guān)閉 1 開啟 默認(rèn)為 1', `create_time` int(11) DEFAULT NULL COMMENT '注冊(cè)時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表';
特別注意:因?yàn)樽侄蝘d會(huì)自動(dòng)增長(zhǎng),設(shè)置為null即可
如果沒有寫出所有字段的值,會(huì)出現(xiàn)以下錯(cuò)誤
1136 - Column count doesn’t match value count at row 1(列計(jì)數(shù)與行的值計(jì)數(shù)不匹配)
insert into user value(null, '張三', 1, 20, null, 1602295286);
b. 給指定的字段添加數(shù)據(jù),則沒有被指定的字段必須有默認(rèn)值
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶ID,主鍵且自增', `nickname` varchar(60) NOT NULL COMMENT '用戶昵稱', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '狀態(tài) 0 關(guān)閉 1 開啟 默認(rèn)為 1', `create_time` int(11) DEFAULT NULL COMMENT '注冊(cè)時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表';
沒有默認(rèn)值的字段必須給值:nickname 字段設(shè)置了 not null 且沒有設(shè)置 default
insert into user(`status`, `create_time`) value(1, 1602295286);
c. 一次添加多條數(shù)據(jù)
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶ID,主鍵且自增', `nickname` varchar(60) NOT NULL COMMENT '用戶昵稱', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '狀態(tài) 0 關(guān)閉 1 開啟 默認(rèn)為 1', `create_time` int(11) DEFAULT NULL COMMENT '注冊(cè)時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表';
insert into user(`nickname`, `status`) value('張大民', 1), ('小新', 0), ('小剛同學(xué)', 1);
d. 添加一條數(shù)據(jù)的兩種寫法
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶ID,主鍵且自增', `nickname` varchar(60) NOT NULL COMMENT '用戶昵稱', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '狀態(tài) 0 關(guān)閉 1 開啟 默認(rèn)為 1', `create_time` int(11) DEFAULT NULL COMMENT '注冊(cè)時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表';
insert into user(`nickname`, `status`) value('小王', 1);
insert into user set `nickname` = '大王', `status` = '0';
3. MySQL 添加數(shù)據(jù)總結(jié)(常見用法)
不指定字段名,所有字段必須給值
insert into user value(null, '張三', '123456', '男', 20, 1602295286);
into 可以省略,但是一般都不省略
insert user value(null, '張三', '123456', '男', 20, 1602295286);
指定部分字段添加,沒有被指定的字段 要么會(huì)自動(dòng)增長(zhǎng),要么允許為 null,要么有默認(rèn)值
insert into user(`nickname`, `password`, `gender`, `age`) value('張三', '123456', '男', 20);
添加一條數(shù)據(jù)時(shí)也可以用 insert ... set
insert into user set `nickname` = '大王', `status` = '0';
添加多條數(shù)據(jù)
insert into user(`nickname`, `status`) value('張大民', 1), ('小新', 0), ('小剛同學(xué)', 1);
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解析mysql中:單表distinct、多表group by查詢?nèi)コ貜?fù)記錄
本篇文章是對(duì)mysql中的單表distinct、多表group by查詢?nèi)コ貜?fù)記錄進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mysql中循環(huán)截取用戶信息并插入到目標(biāo)表對(duì)應(yīng)的字段中
將各個(gè)用戶對(duì)應(yīng)的屬性插入到目標(biāo)表對(duì)應(yīng)的字段中,last_update為數(shù)據(jù)更新日期2014-08-08mysql中錯(cuò)誤:1093-You can’t specify target table for update in F
最近在工作中遇到了一個(gè)mysql錯(cuò)誤提示1093:You can’t specify target table for update in FROM clause,后來通過查找相關(guān)的資料解決了這個(gè)問題,現(xiàn)在將解決的方法分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。2017-01-01MySQL使用觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)自動(dòng)更新的應(yīng)用實(shí)例
觸發(fā)器是非常常見的自動(dòng)化數(shù)據(jù)庫操作方式,無論是在數(shù)據(jù)更新、刪除還是需要自動(dòng)添加一些內(nèi)容到數(shù)據(jù)表上,觸發(fā)器都可以發(fā)揮作用,熟悉 SQL 的基本語法和一些常見的用例,可以幫助你合理地設(shè)置自己的數(shù)據(jù)庫操作流程,2024-01-01mysql主從基于docker和django實(shí)現(xiàn)讀寫分離
這篇文章主要介紹了mysql主從基于docker和django實(shí)現(xiàn)讀寫分離,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-08-08MySQL安裝與配置:手工配置MySQL(windows環(huán)境)過程
這篇文章主要介紹了MySQL安裝與配置:手工配置MySQL(windows環(huán)境)過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12MySQL關(guān)聯(lián)表插入數(shù)據(jù)方式(insert into select語法)
這篇文章主要介紹了MySQL關(guān)聯(lián)表插入數(shù)據(jù)方式(insert into select語法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03