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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

数据库

MySQL学习笔记1(增删查改)

發(fā)布時(shí)間:2023/12/1 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL学习笔记1(增删查改) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

創(chuàng)建表:

/*創(chuàng)建數(shù)據(jù)庫(kù)create database 數(shù)據(jù)庫(kù)名; */ CREATE DATABASE mybase; /*使用數(shù)據(jù)庫(kù)use 數(shù)據(jù)庫(kù)名 */ USE mybase;/*創(chuàng)建數(shù)據(jù)表的格式create table 表名(列名1 數(shù)據(jù)類型 約束,列名2 數(shù)據(jù)類型 約束,列名3 數(shù)據(jù)類型 約束);創(chuàng)建用戶表,用戶編號(hào),姓名,用戶的地址將編號(hào)列,設(shè)置為主鍵約束,保證列的數(shù)據(jù)唯一性,非空性primary key AUTO_INCREMENT這一句意思是讓主鍵列數(shù)據(jù),實(shí)現(xiàn)自動(dòng)增長(zhǎng) */CREATE TABLE users (uid INT PRIMARY KEY AUTO_INCREMENT ,uname VARCHAR(20),uaddress VARCHAR(200));
/*
表的操作,不常用
show tables 顯示所有數(shù)據(jù)表 desc users 查看表中結(jié)構(gòu) drop table users 刪除數(shù)據(jù)表 */

?

修改表結(jié)構(gòu):

CREATE TABLE users (uid INT PRIMARY KEY AUTO_INCREMENT,uname VARCHAR(20),uaddress VARCHAR(200));/*添加列,添加字段alter table 表名 add 列名 數(shù)據(jù)類型 約束*/ALTER TABLE users ADD tel INT ;/*修改列, 在原有的列上修改修改列名,數(shù)據(jù)類型約束 alter table 表名 modify 列名 數(shù)據(jù)類型 約束*/ALTER TABLE users MODIFY tel VARCHAR(50);/*修改列名alter table 表名 change 舊列名 新列名 數(shù)據(jù)類型 約束*/ALTER TABLE users CHANGE tel newtel DOUBLE;/*刪除列alter table 表名 drop 列名 */ALTER TABLE users DROP newtel;/*修改表名rename table 表名 to 新名 */RENAME TABLE users TO newusers

?

向數(shù)據(jù)表中添加數(shù)據(jù):

CREATE TABLE product(-- 主鍵列,自動(dòng)增長(zhǎng)id INT PRIMARY KEY AUTO_INCREMENT,-- 商品名字,可變字符,非空pname VARCHAR(100) NOT NULL,-- 商品的價(jià)格,doubleprice DOUBLE );/*向數(shù)據(jù)表中添加數(shù)據(jù) insert格式:insert into 表名(列名1,列名2,列名3) values (值1,值2,值3)注意:對(duì)應(yīng)問(wèn)題和類型問(wèn)題 */INSERT INTO product (id,pname,price) VALUES (1,'電腦',6666.66); INSERT INTO product (id,pname,price) VALUES (2,'手機(jī)',1888.88);/*添加數(shù)據(jù)格式,不考慮主鍵格式:insert into 表名 (列名) values (值) */ INSERT INTO product (pname,price) VALUES('洗衣機(jī)',800);/*添加數(shù)據(jù)格式,所有值全給出格式:insert into 表名 values (全列值) */ INSERT INTO product VALUES (4,'微波爐',300.25);/*添加數(shù)據(jù)格式,批量寫(xiě)入格式:insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3) */ INSERT INTO product (pname,price) VALUES ('智能機(jī)器人',25999.22), ('彩色電視',1250.36), ('沙發(fā)',5899.02)

?

修改表中數(shù)據(jù):

/*對(duì)數(shù)據(jù)進(jìn)行更新操作數(shù)據(jù)在原有的基礎(chǔ)上修改格式:update 表名 set 列1=值1,列2=值2 where 條件where 條件: 數(shù)據(jù)中的唯一性 */-- 修改 UPDATE product SET price = 15999 WHERE id=2-- 修改 UPDATE product SET pname='黑白電視機(jī)', price=100 WHERE id = 6/*修改條件的寫(xiě)法id=6 等于,不要寫(xiě)雙等于id<>6 不等于id<=6 與或非 && || !&&要寫(xiě)成 and||要寫(xiě)成 or ! 要寫(xiě)成 notid in (1,3,4,5,6) 包含 */ UPDATE product SET price = 2000 WHERE id = 1 OR id = 7;/*刪除表中的數(shù)據(jù)格式:delete from 表名 where 條件drop table 表名 刪除整個(gè)數(shù)據(jù)表還有一個(gè)truncate方法也是刪除,區(qū)別在于刪除后重建新表,自增重新開(kāi)始,而delete方法不影響自增 */ -- 刪除 DELETE FROM product WHERE id=8;

?特別注意一個(gè)問(wèn)題,我在安裝的時(shí)候設(shè)置的默認(rèn)編碼是utf8,但是windows默認(rèn)的是gbk,

如果打開(kāi)命令行會(huì)發(fā)現(xiàn)出現(xiàn)亂碼問(wèn)題,解決辦法:在控制臺(tái)中如果想顯示正常的漢字,加入這一行:

SET NAMES gbk;

?

?

查詢表中的數(shù)據(jù):

?

CREATE TABLE zhangwu (id INT PRIMARY KEY AUTO_INCREMENT, -- 賬務(wù)IDzname VARCHAR(200), -- 賬務(wù)名稱zmoney DOUBLE -- 金額 ); INSERT INTO zhangwu(id,zname,zmoney) VALUES (1,'吃飯支出',247); INSERT INTO zhangwu(id,zname,zmoney) VALUES (2,'工資收入',12345); INSERT INTO zhangwu(id,zname,zmoney) VALUES (3,'服裝支出',1000); INSERT INTO zhangwu(id,zname,zmoney) VALUES (4,'吃飯支出',325); INSERT INTO zhangwu(id,zname,zmoney) VALUES (5,'股票收入',8000); INSERT INTO zhangwu(id,zname,zmoney) VALUES (6,'打麻將支出',8000); INSERT INTO zhangwu(id,zname,zmoney) VALUES (7,NULL,5000);/*查詢指定列的數(shù)據(jù)格式:select 列名1,列名2 from 表名 */ SELECT zname,zmoney FROM zhangwu;/*查詢所有列的數(shù)據(jù)格式:select * from 表名 */ SELECT * FROM zhangwu;/*查詢?nèi)サ糁貜?fù)記錄DISTINCT 關(guān)鍵字 跟隨列名 */ SELECT DISTINCT zname FROM zhangwu/*查詢重新命名列as 關(guān)鍵字 */ SELECT zname AS 'name' FROM zhangwu /*查詢數(shù)據(jù)中,直接進(jìn)行數(shù)學(xué)計(jì)算列對(duì)數(shù)字進(jìn)行計(jì)算 */ SELECT zname,zmoney+1000 AS'sum' FROM zhangwu-- 查詢所有的吃飯支出 SELECT * FROM zhangwu WHERE zname='吃飯支出'-- 查詢金額大于1000 SELECT * FROM zhangwu WHERE zmoney>1000-- 查詢金額在2000到5000之間 SELECT * FROM zhangwu WHERE zmoney >= 2000 AND zmoney <= 5000 -- 改造成between and 方式 SELECT * FROM zhangwu WHERE zmoney BETWEEN 2000 AND 5000-- 查詢金額是 1000,3500,5000 其中一個(gè) SELECT * FROM zhangwu WHERE zmoney = 1000 OR zmoney=3500 OR zmoney=5000 -- 改造成in方式 SELECT * FROM zhangwu WHERE zmoney IN (1000,3500,5000)-- like 模糊查詢 配合通配符 -- 查詢所有的支出(含有這兩個(gè)字即可查出) SELECT * FROM zhangwu WHERE zname LIKE '%支出%'-- 查詢賬務(wù)名字,五個(gè)字符的 SELECT * FROM zhangwu WHERE zname LIKE'_____'-- 查詢賬務(wù)名,不為空的 SELECT * FROM zhangwu WHERE zname IS NOT NULLSELECT * FROM zhangwu WHERE NOT ( zname IS NULL)

?

排序查詢:

/*查詢,對(duì)結(jié)果集進(jìn)行排序升序,降序,對(duì)指定列排序order by 列名 [desc][asc]desc 降序asc 升序排列,可以不寫(xiě) */ -- 查詢賬務(wù)表,價(jià)格進(jìn)行升序 SELECT * FROM zhangwu ORDER BY zmoney ASC-- 查詢賬務(wù)表,價(jià)格進(jìn)行降序 SELECT * FROM zhangwu ORDER BY zmoney DESC-- 查詢賬務(wù)表,查詢所有的支出,對(duì)金額降序排列 -- 先過(guò)濾條件 where 查詢的結(jié)果再排序 SELECT * FROM zhangwu WHERE zname LIKE'%支出%' ORDER BY zmoney DESC

?

聚合函數(shù):

/*使用聚合函數(shù)查詢計(jì)算 */-- count 求和,對(duì)表中的數(shù)據(jù)的個(gè)數(shù)求和 count(列名) -- 查詢統(tǒng)計(jì)賬務(wù)表中,一共有多少條數(shù)據(jù) SELECT COUNT(*)AS'count' FROM zhangwu-- sum求和,對(duì)一列中數(shù)據(jù)進(jìn)行求和計(jì)算 sum(列名) -- 對(duì)賬務(wù)表查詢,對(duì)所有的金額求和計(jì)算 SELECT SUM(zmoney) FROM zhangwu -- 求和,統(tǒng)計(jì)所有支出的總金額 SELECT SUM(zname) FROM zhangwu WHERE zname LIKE'%收入%'INSERT INTO zhangwu (zname) VALUES ('彩票收入')-- max 函數(shù),對(duì)某列數(shù)據(jù),獲取最大值 SELECT MAX(zmoney) FROM zhangwu-- avg 函數(shù),計(jì)算一個(gè)列所有數(shù)據(jù)的平均數(shù) SELECT AVG(zmoney)FROM zhangwu

?

分組查詢:

?

/*查詢所有的數(shù)據(jù)吃飯支出 共計(jì)多少工資收入 共計(jì)多少服裝支出 共計(jì)多少股票收入 共計(jì)多少打麻將支出 共計(jì)多少錢(qián)分組查詢: group by 被分組的列名必須跟隨聚合函數(shù)select 查詢的時(shí)候,被分組的列,要出現(xiàn)在select 選擇列的后面 */SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname-- 對(duì)zname內(nèi)容進(jìn)行分組查詢求和,但是只要支出 SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%' GROUP BY zname ORDER BY getsum DESC-- 對(duì)zname內(nèi)容進(jìn)行分組查詢求和,但是只要支出, 顯示金額大于5000 -- 結(jié)果集是分組查詢后,再次進(jìn)行篩選,不能使用where, 分組后再次過(guò)濾,關(guān)鍵字 having SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%' GROUP BY zname HAVING getsum>5000

?

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

總結(jié)

以上是生活随笔為你收集整理的MySQL学习笔记1(增删查改)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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