欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作CRUD詳解

 更新時(shí)間:2025年05月17日 10:33:57   作者:星星重行行  
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作(CRUD),詳細(xì)描述對(duì)Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作(CRUD),包括插入、修改、刪除數(shù)據(jù),還有查詢(xún)數(shù)據(jù),包括where、in、like、ifnull、與或非、order by、聚集函數(shù)等,需要的朋友可以參考下

本文內(nèi)容: 詳細(xì)描述對(duì)Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作(CRUD),包括插入、修改、刪除數(shù)據(jù),還有查詢(xún)數(shù)據(jù),包括where、in、like、ifnull、與或非、order by、聚集函數(shù)等。

一、插入數(shù)據(jù)(insert)

1.插入數(shù)據(jù)的語(yǔ)法

  • insert into 表名 (字段1,字段2,字段3) values (值1,值2,值3);
  • insert into 表名 values (值1,值2,值3);

2.注意事項(xiàng)

  • 插入的數(shù)據(jù)與字段類(lèi)型必須是相同的
  • 數(shù)據(jù)的大小范圍在字段范圍內(nèi)
  • 值與字段一一對(duì)應(yīng)
  • 字符串或者日期類(lèi)型數(shù)據(jù)需要使用單引號(hào)

示例:

insert into user values (1,'meimei','1956‐1‐1','1957‐1‐1','HR',5000,'meimeimei','xx');
insert into user values (2,'小鳳','1996‐1‐1','2013‐1‐1','BOSS',15000,'mei','xx');
insert into user values (3,'聰聰','1993‐11‐11','2015‐09‐10','WORKER',500.0,'chou','yy');
insert into user values (4,'如花','1994‐1‐1','2013‐1‐1','BOSS',25000,'mei','xx');
insert into user values (5,'小蒼','1991‐1‐1','2014‐1‐1','BOSS',15000,'mei','xx');
insert into user values (6,'小澤','1986‐1‐1','2013‐1‐1','BOSS',15000,'mei','xx');

問(wèn)題:若MySQL插入中文數(shù)據(jù)亂碼

解決:

1.先把MySQL服務(wù)停止。
2.找到MySQL安裝文件的my.ini的配置文件
   [client] port=3306 [mysql]
  default‐character‐set=gbk
3.重啟MySQL服務(wù)

二、修改數(shù)據(jù)(update)

1.語(yǔ)法

update 表名 set 字段1=值,字段2=值 where 條件;  where username = 'meimei';

2.有無(wú)where

如果沒(méi)有where條件語(yǔ)句,默認(rèn)更新所有的數(shù)據(jù)。

如果有where條件,默認(rèn)更新符合條件的記錄。

示例:

將所有員工薪水修改為5000元。
update user set salary = 5000;
將姓名為'聰聰'的員工薪水修改為3000元。
update user set salary = 3000 where username = '聰聰';
將姓名為'小鳳'的員工薪水修改為4000元,job改為ccc。
update user set salary = 4000,job = 'ccc' where username = '小鳳';
將如花的薪水在原有基礎(chǔ)上增加1000元。
update user set salary = salary+1000 where username = '如花';

三、刪除數(shù)據(jù)(delete)

1.語(yǔ)法

delete from 表名 where 條件;

2.有無(wú)where

如果沒(méi)有where條件,默認(rèn)刪除所有的數(shù)據(jù)。

3. truncate 表名;刪除表中所有的數(shù)據(jù)。

delete from 表名; 也可以刪除所有數(shù)據(jù)。

  • 區(qū)別: truncate先把你整個(gè)表刪除掉,默默創(chuàng)建一個(gè)空的表(和原來(lái)的表結(jié)構(gòu)是一樣的)。
  • delete from 表名 一行一行的刪除。(使用它)
  • 事物的概念:事物提交和事物回滾。

示例:

刪除表中名稱(chēng)為'聰聰'的記錄。
delete from user where username = '聰聰';
刪除表中所有記錄。
delete from user; drop table user;刪除數(shù)據(jù)

四、查詢(xún)數(shù)據(jù)(select)(重點(diǎn))

1.基本的select語(yǔ)句

語(yǔ)法:

      select * from 表名;                                  ‐‐ 查詢(xún)所有列的記錄

      select 字段1,字段2,字段3 from 表名;   ‐‐ 查詢(xún)字段123的記錄

      DISTINCT                                              ‐‐ 去除重復(fù)的數(shù)據(jù)

示例:select distinct english from stu;

練習(xí):

create database day15;
use day15;
create table stu(
    id int,
    name varchar(30),
    math int,
    english int,
    chinese int
);
insert into stu values (1,'美美',78,93,56);
insert into stu values (2,'聰聰',18,13,16);
insert into stu values (3,'小鳳',98,96,89);
insert into stu values (4,'如花',90,100,46);
insert into stu values (5,'歐陽(yáng)鋒',74,93,56);
insert into stu values (6,'吳彥祖',37,11,89);
insert into stu values (7,'聰大',88,77,66);
insert into stu values (8,'聰二',55,44,33);

2.查詢(xún)語(yǔ)句中使用運(yùn)算和別名(數(shù)據(jù)庫(kù)中數(shù)據(jù)不變)

在所有學(xué)生分?jǐn)?shù)上加10分特長(zhǎng)分。
select name,(math+10) m,(english+10) e,(chinese+10) c from stu;
統(tǒng)計(jì)每個(gè)學(xué)生的總分。
select name,(math+english+chinese) 總 分 from stu;
使用別名表示學(xué)生分?jǐn)?shù)
select name,(math+english+chinese) 總 分 from stu;

3.使用where條件過(guò)濾

查詢(xún)姓名為聰聰?shù)膶W(xué)生成績(jī)
select name,math,chinese from stu where name = '聰聰';
查詢(xún)英語(yǔ)成績(jī)大于90分的同學(xué)
select name,english from stu where english > 20;
查詢(xún)總分大于200分的所有同學(xué)
select name,math+english+chinese from stu where (math+english+chinese) > 200;

4.where子句中出現(xiàn)的運(yùn)算(3個(gè))

4.1  >  <  <=  >=  =  <>  大于、小于、大于(小于)等于、不等于

4.2 in 表示范圍。

select * from stu where math = 18;               查詢(xún)出一條數(shù)據(jù)
select * from stu where math in (78,18,99);

4.3 like 模糊查詢(xún) ‐‐ 符合模糊的條件

select * from stu where name like '張_';    姓張的名稱(chēng)(只有兩個(gè))的記錄
select * from stu where name like '張%';    姓張的名稱(chēng)(張飛 張翼德 張是是是冠希)的記錄。
select * from stu where name like '%張';    末尾是張(聰聰張   XSDF張)
select * from stu where name like '%張%';   只要名稱(chēng)中包含張

4.4 isnull ifnull nullif 判斷某一個(gè)字段記錄是否為空

ifnull:如果xxx為null,可替換成默認(rèn)值;

4.5 and與 or或者 not非

查詢(xún)英語(yǔ)分?jǐn)?shù)在 80-90之間的同學(xué)。
select * from stu where english >= 10 and english < 19;
查詢(xún)數(shù)學(xué)分?jǐn)?shù)為89,90,91的同學(xué)。
select * from stu where math in (89,90,91);
查詢(xún)所有姓小的學(xué)生成績(jī)。
select * from stu where name like '小%';
查詢(xún)數(shù)學(xué)分>80,語(yǔ)文分>80的同學(xué)。
select * from stu where math > 80 or chinese > 80;
總結(jié):select 列名(運(yùn)算) from 表名(別名) where 條件(運(yùn)算的符號(hào));

5.order by 對(duì)查詢(xún)的結(jié)果進(jìn)行排序

5.1排序的語(yǔ)法

select * from 表名 where 條件 order by 列名 升序/降序;

5.2升序和降序

  • order by 列名 asc;(升序,默認(rèn)值)
  • order by 列名 desc;(降序)

5.3 order by 子句必須出現(xiàn)在select語(yǔ)句的末尾。 示例:

對(duì)數(shù)學(xué)成績(jī)排序后輸出。
select name,math from stu order by math desc;
對(duì)總分排序按從高到低的順序輸出
select name,(math+english+chinese) as total from stu order by total desc;
對(duì)姓聰?shù)膶W(xué)生成績(jī)按照英語(yǔ)進(jìn)行降序排序,英語(yǔ)相同學(xué)員按照數(shù)學(xué)降序
select name,english,math from stu order by english desc,math desc;
對(duì)姓聰?shù)膶W(xué)生成績(jī)排序輸出
select name,(math+english+chinese) as total from stu where name like '聰%' order by total
desc;

6. 聚集函數(shù) where,group by, having,order by

6.1聚集函數(shù):總計(jì)某一列數(shù)據(jù)總和。一列的個(gè)數(shù)。一列的平均數(shù)。一列中最大值和最小值。

6.2聚集函數(shù)來(lái)操作列的。

count ---計(jì)數(shù)
sum  ---求和
ifnull --判斷是否為空:語(yǔ)法:ifnul(xxx,0) 如果xxx為null,替換成0
avg           ‐‐ 平均值
max          ‐‐ 最大值
min          ‐‐ 最小值

練習(xí):

統(tǒng)計(jì)一個(gè)班級(jí)共有多少學(xué)生?
select count(name) from stu;
統(tǒng)計(jì)數(shù)學(xué)成績(jī)大于90的學(xué)生有多少個(gè)?
select count(math) from stu where math >= 90;
統(tǒng)計(jì)總分大于220的人數(shù)有多少?
select count(*) from stu where math + english+chinese > 200;
統(tǒng)計(jì)一個(gè)班級(jí)數(shù)學(xué)總成績(jī)?
select sum(math) from stu;
統(tǒng)計(jì)一個(gè)班級(jí)語(yǔ)文、英語(yǔ)、數(shù)學(xué)各科的總成績(jī)
select sum(math),sum(english),sum(chinese) from stu;
統(tǒng)計(jì)一個(gè)班級(jí)語(yǔ)文、英語(yǔ)、數(shù)學(xué)的成績(jī)總和
select sum(ifnull(math,0)+english+chinese) from stu; select sum(math) + sum(english) + sum(chinese)from stu;
編寫(xiě)一條更新語(yǔ)句:update stu set math = null where id = 2;

到此這篇關(guān)于Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作(CRUD)的文章就介紹到這了,更多相關(guān)mysql 數(shù)據(jù)crud內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 生產(chǎn)環(huán)境MySQL索引時(shí)效的排查過(guò)程

    生產(chǎn)環(huán)境MySQL索引時(shí)效的排查過(guò)程

    這篇文章主要介紹了生產(chǎn)環(huán)境MySQL索引時(shí)效的排查過(guò)程,文章根據(jù)SQL查詢(xún)耗時(shí)特別長(zhǎng),看了執(zhí)行計(jì)劃發(fā)現(xiàn)沒(méi)有走索引的問(wèn)題展開(kāi)詳細(xì)介紹,需要的朋友可以參考一下
    2022-04-04
  • MySQL的下載、安裝詳細(xì)教程

    MySQL的下載、安裝詳細(xì)教程

    本文的主要目的是在?Windwos?上安裝?MySQL,以下內(nèi)容是源于?B站?-?MySQL數(shù)據(jù)庫(kù)入門(mén)到精通整理而來(lái),需要的朋友可以參考下
    2023-06-06
  • Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題

    Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題

    這篇文章主要介紹了Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Spark SQL常見(jiàn)4種數(shù)據(jù)源詳解

    Spark SQL常見(jiàn)4種數(shù)據(jù)源詳解

    這篇文章主要介紹了Spark SQL常見(jiàn)4種數(shù)據(jù)源(詳細(xì)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • IntelliJ?IDEA?2024與MySQL?8連接以及driver問(wèn)題解決辦法

    IntelliJ?IDEA?2024與MySQL?8連接以及driver問(wèn)題解決辦法

    在IDE開(kāi)發(fā)工具中也是可以使用mysql的,下面這篇文章主要給大家介紹了關(guān)于IntelliJ?IDEA?2024與MySQL?8連接以及driver問(wèn)題解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • MySQL連表查詢(xún)的實(shí)現(xiàn)

    MySQL連表查詢(xún)的實(shí)現(xiàn)

    在Mysql數(shù)據(jù)庫(kù)中,表的連接操作是非常重要的,能夠?qū)⒉煌谋斫Y(jié)合在一起,實(shí)現(xiàn)更加豐富和復(fù)雜的查詢(xún)操作,本文主要介紹了MySQL連表查詢(xún)的實(shí)現(xiàn),感興趣的可以了解一下
    2023-06-06
  • MySql中怎樣查詢(xún)表是否被鎖

    MySql中怎樣查詢(xún)表是否被鎖

    這篇文章主要介紹了MySql中怎樣查詢(xún)表是否被鎖問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • MySQL數(shù)據(jù)時(shí)區(qū)問(wèn)題以及datetime和timestamp類(lèi)型存儲(chǔ)的差異

    MySQL數(shù)據(jù)時(shí)區(qū)問(wèn)題以及datetime和timestamp類(lèi)型存儲(chǔ)的差異

    這篇文章主要介紹了MySQL數(shù)據(jù)時(shí)區(qū)問(wèn)題以及datetime和timestamp類(lèi)型存儲(chǔ)的差異,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 最新評(píng)論