日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【MySQL】(4)操作数据表中的记录

發(fā)布時間:2023/12/13 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【MySQL】(4)操作数据表中的记录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 插入記錄INSERT

方法一:

INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...;

比如:

CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, password VARCHAR(32) NOT NULL, age TINYINT UNSIGNED NOT NULL DEFAULT 10, sex BOOLEAN ); # 插入記錄,不指定列的數(shù)目時。必須全部的字段都要賦值 INSERT users VALUES(NULL, 'Tom', '123', 25, 1); INSERT users VALUES(NULL, 'Tom2', '123', 28, 1); INSERT users VALUES(DEFAULT, 'Tom3', '111', 28, 1); # 使用數(shù)學(xué)表達(dá)式也能夠加入值 INSERT users VALUES(DEFAULT, 'Tom4', '111', 3*7+2/3, 1); # 給年齡DEFAULT。會採用默認(rèn)值10 INSERT users VALUES(DEFAULT, 'Tom5', '111', DEFAULT, 1); # 一次加入多條記錄 INSERT users VALUES(DEFAULT, 'Tom6', '111', DEFAULT, 1), (NULL, 'Rose', md5('213'), DEFAULT, 0);
方法二:

INSERT [INTO] tbl_name SET col_name={exp | DEFAULT},...;

這種方法與第一種方式的差別在于,此方法能夠使用子查詢(SubQuery),此方法一次性僅僅能插入一條記錄。

比如:

INSERT users SET username='Ben', password='456';方法三:

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

使用此方法能夠?qū)⒉樵兘Y(jié)果插入到指定數(shù)據(jù)表。


2. 單表更新記錄UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 | DEFAULT} [, col_name2={expr2 | DEFAULT}] ... [WHERE where_condition];

比如:

# 全部記錄的年齡都加5 UPDATE users SET age=age+5; # 更新多列 UPDATE users SET age=age-id, sex=0; # 更新id為偶數(shù)的記錄 UPDATE users SET age=age+10 WHERE id%2=0;


3. 單表刪除記錄DELETE

DELETE FROM tbl_name [WHERE where_condition];

比如:

DELETE FROM users WHERE id=6;

即使在刪除后,id號不連續(xù),那么新增的數(shù)據(jù)還是會在最大的id號加一。


4. 查詢表達(dá)時解析

SELECT select_expr [, select_expr ...] [FROM table_references [WHERE whrere_condition] [GROUP BY {col_name | position} [ASC | DESC],...][HAVING where_condition][ORDER BY {col_name | expr | position} [ASC | DESC], ...][LIMIT {[offset,] row_count | row_count OFFSET offset}]];

每個表達(dá)式表示想要的一列,必須至少有一個。多個烈之間以英文逗號分隔。

星號(*)表示全部列。

tbl_name.*能夠表示命名表的全部列。查詢表達(dá)式能夠使用[AS] alias_name為其賦予別名。別名可用于GROUP BY,ORDER BY或HAVING字句。

比如:

# 查看MySQL版本號 SELECT VERSION(); # 查看當(dāng)前時間 SELECT NOW(); # 僅僅查看前兩列 SELECT id, username FROM users; SELECT username, id FROM users; SELECT users.id, users.username FROM users; SELECT id AS userid, username AS uname FROM users; # ASkeyword能夠省略,可是盡量寫上,避免不必要的錯誤 SELECT id username FROM users;字段的順序和結(jié)果集都將影響查詢出的結(jié)果集。

(1). WHERE

條件表達(dá)式

對記錄進(jìn)行過濾,假設(shè)沒有指定WHERE字句,則顯示全部記錄。在WHERE表達(dá)式中,能夠使用MySQL支持的函數(shù)或運(yùn)算符。

(2). GROUP BY

查詢結(jié)果分組

比如:

SELECT sex FROM users GROUP BY sex; # 1表示依照SELECT語句中第一個出現(xiàn)的字段排序 SELECT sex FROM users GROUP BY 1;(3). HAVING

分組條件

比如:

# 當(dāng)HAVING語句有age的條件時,前面的SELECT中必須出現(xiàn)這個age字段 SELECT sex, age FROM users GROUP BY 1 HAVING age>35; # 或者是一個聚合函數(shù) SELECT sex, age FROM users GROUP BY 1 HAVING count(id)>=2;(4). ORDER BY

對查詢結(jié)果進(jìn)行排序

比如:

# 依照id降序排列 SELECT * FROM users ORDER BY id DESC; # 同一時候以兩個字段排序age默認(rèn)升序,id降序 SELECT * FROM users ORDER BY age, id DESC;(5). LIMIT

限制查詢結(jié)果返回的數(shù)量

比如:

# 從第1條開始返回2條記錄 SELECT * FROM users LIMIT 2; # 從第1條開始,偏移2條后,查詢2條記錄 SELECT * FROM users LIMIT 2 OFFSET 2; # 從第4條開始(從0開始計數(shù)),返回2條記錄 SELECT * FROM users LIMIT 3, 2; SELECT * FROM users ORDER BY id DESC LIMIT 2, 2; CREATE TABLE test(id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20)); # 將users年齡大于30的數(shù)據(jù)插入test表 INSERT test(username) SELECT username FROM users WHERE age>=30;



轉(zhuǎn)載于:https://www.cnblogs.com/zsychanpin/p/6805497.html

總結(jié)

以上是生活随笔為你收集整理的【MySQL】(4)操作数据表中的记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。