MySQL數(shù)據(jù)庫(kù)操作及SQL語(yǔ)句筆記 --- 2018-11-07

果你在電腦上沒(méi)安裝可視化數(shù)據(jù)庫(kù)操作蕊唐,需要在cmd命令行輸入命令操作數(shù)據(jù)庫(kù)屋摔,那么可能會(huì)用以下命令

(1)連接數(shù)據(jù)庫(kù)

? ? * 打開(kāi)cmd窗口,使用命令替梨,連接mysql數(shù)據(jù)庫(kù)

? ? * 命令: mysql -u root -p 密碼? ? -u username? ? -p? password? ? ? ?

(2)創(chuàng)建數(shù)據(jù)庫(kù)

? ? * 語(yǔ)句: create database 數(shù)據(jù)庫(kù)的名稱;

? ? ** 示例:create database testdb1;

(3)查看所有的數(shù)據(jù)庫(kù)

? ? * 語(yǔ)句:show databases;

(4)刪除數(shù)據(jù)庫(kù)

? ? * 語(yǔ)句:drop database 要?jiǎng)h除的數(shù)據(jù)庫(kù)的名稱;

? ? ** 示例: drop database testdb1;

(5)切換數(shù)據(jù)庫(kù)

? ? * 如果想要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)表钓试,這個(gè)表要在一個(gè)數(shù)據(jù)庫(kù)里面,所以需要切換到數(shù)據(jù)庫(kù)

? ? * 語(yǔ)句:use 要切換的數(shù)據(jù)庫(kù)的名稱;

? ? ** 示例:use testdb2;

(6)查看數(shù)據(jù)庫(kù)表的建表結(jié)構(gòu)副瀑。

? ? show create database 表名;


下面是關(guān)于SQL語(yǔ)句的筆記

(1)創(chuàng)建數(shù)據(jù)庫(kù)表

? ? * 語(yǔ)句 create table 表名稱 (

? ? ? ? 字段 類型,

? ? ? ? 字段 類型

? ? ? ? ? )

? ? * 創(chuàng)建表 user弓熏,字段? id? username? password? sex

? ? create table user (

? ? ? ? id int,

? ? ? ? username varchar(40),

? ? ? ? password varchar(40),

? ? ? ? sex varchar(30)

? ? )

(2)mysql的數(shù)據(jù)類型

? ? 字符串型

? ? VARCHAR、CHAR

? ? * 當(dāng)創(chuàng)建表時(shí)候糠睡,使用字符串類型挽鞠,name varchar(40),指定數(shù)據(jù)的長(zhǎng)度

? ? * varchar和char的區(qū)別

? ? ** varchar的長(zhǎng)度是可變的狈孔,比如 name varchar(5),存值 a 信认,直接把a(bǔ)存進(jìn)去? //a<5(a不能超過(guò)5)

? ? ** char的長(zhǎng)度是固定的,比如 name char(5),存值 b均抽,把b存進(jìn)去狮杨,后面加很多空格? //b<5(b也不能超過(guò)5)

? ? 大數(shù)據(jù)類型

? ? BLOB、TEXT

? ? * 使用這個(gè)類型可以存儲(chǔ)文件到忽,一般開(kāi)發(fā)橄教,不會(huì)直接把文件存到數(shù)據(jù)庫(kù)里面,存文件的路徑

? ? 數(shù)值型

? ? TINYINT 喘漏、SMALLINT护蝶、INT、BIGINT翩迈、FLOAT持灰、DOUBLE

? ? * 對(duì)應(yīng)java里面

? ? byte? ? ? short? ? int? long? ? float? double

? ? 邏輯性

? ? BIT

? ? * 類似java里面的boolean

? ? 日期型

? ? DATE:用于表示日期 1945-08-15

? ? TIME:用于表示時(shí)間 19:10:40

? ? 下面的兩個(gè)類型可以表示日期和時(shí)間

? ? DATETIME:手動(dòng)添加時(shí)間到數(shù)據(jù)表里面

? ? TIMESTAMP:自動(dòng)把時(shí)間添加到表里面

(3)查看表結(jié)構(gòu)

? ? * 語(yǔ)句 desc 表名稱;

? ? +----------+-------------+------+-----+---------+-------+

? ? | Field? ? | Type? ? ? ? | Null | Key | Default | Extra |

? ? +----------+-------------+------+-----+---------+-------+

? ? | id? ? ? | int(11)? ? | YES? |? ? | NULL? ? |? ? ? |

? ? | username | varchar(40) | YES? |? ? | NULL? ? |? ? ? |

? ? | password | varchar(40) | YES? |? ? | NULL? ? |? ? ? |

? ? | sex? ? ? | varchar(30) | YES? |? ? | NULL? ? |? ? ? |

? ? +----------+-------------+------+-----+---------+-------+

(4)mysql的約束有三種

? ? 第一種,非空約束 not null

? ? ? ? * 表示數(shù)據(jù)不能為空

? ? 第二種负饲,唯一性約束 unique

? ? ? ? * 表中的記錄不能重復(fù)的

? ? 第三種堤魁,主鍵約束 primary key

? ? ? ? * 表示非空喂链,唯一性

? ? ? ? * 自動(dòng)增長(zhǎng) auto_increment

(5)創(chuàng)建帶約束的表

? ? create table person (

? ? ? ? id int primary key ,

? ? ? ? username varchar(40) not null,

? ? ? ? sex varchar(20)

? ? )

? ? +----------+-------------+------+-----+---------+-------+

? ? | Field? ? | Type? ? ? ? | Null | Key | Default | Extra |

? ? +----------+-------------+------+-----+---------+-------+

? ? | id? ? ? | int(11)? ? | NO? | PRI | NULL? ? |? ? ? |

? ? | username | varchar(40) | NO? |? ? | NULL? ? |? ? ? |

? ? | sex? ? ? | varchar(20) | YES? |? ? | NULL? ? |? ? ? |

? ? +----------+-------------+------+-----+---------+-------+

(6)刪除表

? ? * 語(yǔ)句 drop table 要?jiǎng)h除表的名稱;

(7)查看當(dāng)前的數(shù)據(jù)庫(kù)里面有哪些表

? ? * 語(yǔ)句 show tables;

使用sql對(duì)表中的記錄進(jìn)行操作(增刪改查操作)

? ? (1)向表里面添加記錄 insert

? ? * 語(yǔ)句 insert into 要添加的表名稱 values(要添加的值);

? ? * 注意:當(dāng)添加的字段的數(shù)據(jù)類型是int類型,直接寫值

? ? 如果添加的字段的類型是varchar類型和日期類型妥泉,使用單引號(hào)把值包起來(lái)

? ? * 例如:向user表里面添加記錄

? ? insert into user values(1,'aaa','123456','nan');

? ? * 自動(dòng)增長(zhǎng)的效果

? ? ** 創(chuàng)建一個(gè)表

? ? create table stu (

? ? ? ? id int primary key atuo_increment,

? ? ? ? sname varchar(40)

? ? )

? ? insert into stu values(null,'aaa');

? ? (2)修改表里面的記錄 update

? ? * 語(yǔ)句 update 表名稱 set 要修改的字段的名稱1=修改的值1,要修改的字段的名稱2=修改的值2 where 條件

? ? * 例如:修改user表里面id=1的username修改為QQQ椭微,修改password為999

? ? update user set username='QQQ',password='999' where id=1;

? ? (3)刪除表里面的記錄 delete

? ? * 語(yǔ)句 delete from 表名稱 where 條件

? ? * 例如:刪除user表里面id=1的記錄

? ? delete from user where id=1;

? ? ** 不添加where條件,把表里面的所有的記錄都刪除

? ? (4)查詢表中的記錄 select

? ? * 語(yǔ)句 select 要查詢的字段的名稱 (*) from 表名稱 where 條件

? ? * create table user (

? ? ? ? id int,

? ? ? ? username varchar(40),

? ? ? ? chinese int,

? ? ? ? english int

? ? )

? ? * insert into user values(1,'lucy',100,30);

? ? insert into user values(2,'mary',60,80);

? ? insert into user values(3,'jack',90,20);

? ? * 例如一:查詢user表里面的所有的數(shù)據(jù)

? ? select * from user;

? ? * 例如二:查詢user表里面用戶名和語(yǔ)文成績(jī)

? ? select username,chinese from user;

? ? * 例如三:查詢user表里面id=2的數(shù)據(jù)

? ? select * from user where id=2;

? ? (4)別名

? ? * as 別名

? ? select username as u1,chinese as c1 from user;

? ? (5)distinct盲链,去除表里面重復(fù)記錄

? ? * 語(yǔ)句 select distinct * from 表名;

? ? (6)where子句

? ? 一蝇率,運(yùn)算符 < > >= <=

? ? * 例如:查詢user表里面語(yǔ)文成績(jī)大于60的所有的人員

? ? select * from user where chinese > 60;

? ? 二,in:指定的數(shù)

? ? * 例如:查詢user表里面英語(yǔ)成績(jī)是80刽沾、90的人員的信息

? ? select * from user where english in (80,90);

? ? 三本慕,and:在where里面如果有多個(gè)條件,表示多個(gè)條件同時(shí)滿足

? ? * 例如:查詢user表里面語(yǔ)文成績(jī)是100侧漓,并且英語(yǔ)成績(jī)是30的人員的信息

? ? select * from user where chinese=100 and english=30; //對(duì)于同一個(gè)人的英語(yǔ)成績(jī)及語(yǔ)文成績(jī)同時(shí)滿足

? ? 四锅尘,得到區(qū)間范圍的值

? ? * 例如:查詢user表里面語(yǔ)文成績(jī)?cè)?0-100之間的值

? ? 寫法一,select * from user where chinese >=70 and chinese <=100;

? ? 寫法二布蔗,select * from user where chinese between 70 and 100;

? ? 五藤违,like:模糊查詢

? ? * 例如:查詢user表里面username包含a的人員信息

? ? select * from user where username like '%a%';

? ? % :表示查詢匹配 0-N個(gè)字符? ? _? 表示匹配任意一個(gè)字符

? ? (7)查看當(dāng)前的運(yùn)行的數(shù)據(jù)庫(kù)

? ? select database();

? ? (8)對(duì)表中查詢的記錄排序 order by

? ? * order by寫在select語(yǔ)句的最后

? ? 第一,升序 order by 要排序字段 asc(asc可以省略何鸡,默認(rèn)的情況下就是升序)

? ? * 例如:對(duì)user表里面查詢的數(shù)據(jù),根據(jù)語(yǔ)文成績(jī)進(jìn)行升序排列

? ? select * from user order by chinese asc;

? ? 第二牛欢,降序 order by 要排序字段 desc

? ? * 例如:對(duì)user表里面的英語(yǔ)成績(jī)進(jìn)行降序排列

? ? select * from user order by english desc;

8骡男、聚集函數(shù)

? ? (1)使用提供一些函數(shù),直接實(shí)現(xiàn)某些功能

? ? (2)常用的聚集函數(shù)

? ? 第一傍睹,count()函數(shù)

? ? * 根據(jù)查詢的結(jié)果隔盛,統(tǒng)計(jì)記錄數(shù)

? ? * 寫法 select count(*) from ...where....

? ? * 例如一;查詢user表里面有多少條記錄

? ? select count(*) from user;

? ? * 例如二:查詢user表里面語(yǔ)文成績(jī)大于60的人員有多少

? ? select count(*) from user where chinese>60;

? ? 第二拾稳,sum()函數(shù)

? ? * 求和的函數(shù)

? ? * 寫法 select sum(要進(jìn)行求和字段) from ...where....

? ? * 例如一:得到user表里面的語(yǔ)文的總成績(jī)

? ? select sum(chinese) from user;

? ? * 例如二:得到user表里面語(yǔ)文總成績(jī)吮炕,英語(yǔ)的總成績(jī)

? ? select sum(chinese),sum(english) from user;

? ? * 例如三:得到user表里面語(yǔ)文成績(jī)的平均分(總的成績(jī)/總的人數(shù))

? ? select sum(chinese)/count(*) from user;

? ? 第三,avg()函數(shù)

? ? * 計(jì)算的平均數(shù)的函數(shù)

? ? * 寫法 select avg(要計(jì)算平均數(shù)的字段名稱) from ...

? ? * 例如:得到user表里面語(yǔ)文成績(jī)的平均分

? ? select avg(chinese) from user;

? ? 第四访得,max()函數(shù):計(jì)算最大值

? ? * 寫法 select max(字段) from...

? ? 第五龙亲,min()函數(shù):計(jì)算最小值

? ? * 寫法 select min(字段) from...

? ? * 例如:得到user表里面語(yǔ)文成績(jī)的最高分?jǐn)?shù),英語(yǔ)的成績(jī)最低分?jǐn)?shù)

? ? select max(chinese),min(english) from user;

9悍抑、分組操作?

? ? 分組使用 group by 根據(jù)分組的字段

? ? 在分組的基礎(chǔ)之上再進(jìn)行條件的判斷 having鳄炉,后面可以寫聚集函數(shù)

? ? (1)例如說(shuō)明

? ? * 創(chuàng)建表 orders

? ? create table orders (

? ? ? ? id int,

? ? ? ? name varchar(40),

? ? ? ? price int

? ? )

? ? insert into orders values(1,'電視',2000);?

? ? insert into orders values(2,'電視',2000);

? ? insert into orders values(3,'蘋果',10);

? ? insert into orders values(4,'手機(jī)',500);

? ? insert into orders values(5,'手機(jī)',500);

? ? insert into orders values(6,'鼠標(biāo)',33);

? ? insert into orders values(7,'鼠標(biāo)',33);

? ? (2)例如一:統(tǒng)計(jì)orders表里面每類商品的總的價(jià)格

? ? select name,sum(price) from orders group by name;

? ? (3)例如二:對(duì)商品進(jìn)行分類,得到每類商品的總價(jià)格大于66的商品

? ? select name,sum(price) from orders where sum(price)>66 group by name;

? ? = 上面的語(yǔ)句在邏輯上沒(méi)有問(wèn)題搜骡,在語(yǔ)法上拂盯,where里面不能寫聚集函數(shù),報(bào)錯(cuò)

? ? 正確的寫法:

? ? select name,sum(price) from orders group by price having sum(price)>66;

mysql的關(guān)鍵字limit

? ? (1)limit關(guān)鍵字查詢表中的某幾條記錄

? ? (2)limit關(guān)鍵字不是標(biāo)準(zhǔn)sql的關(guān)鍵字记靡,只能在mysql數(shù)據(jù)庫(kù)里面使用谈竿,實(shí)現(xiàn)分頁(yè)的功能

? ? * 在oracle里面特有關(guān)鍵字 rownum

? ? * 在sqlserver里面特有關(guān)鍵字 top

? ? (3)使用limit查詢前幾條記錄

? ? * 寫法: limit 前幾條記錄? limit 3

? ? * 例如:查詢user表里面前三條記錄

? ? select * from user limit 3;

? ? select * from user limit 0,3;

? ? (4)使用limit查詢第幾條到第幾條記錄

? ? * 寫法: limit 第一個(gè)參數(shù),第二個(gè)參數(shù)

? ? ** 第一個(gè)參數(shù)開(kāi)始的記錄數(shù)的位置团驱,從0開(kāi)始的

? ? ** 第二個(gè)參數(shù)從開(kāi)始的位置向后獲取幾條記錄

? ? * 例如:查詢user表里面第二條到第四條記錄

? ? select * from user limit 1,3;


修改MySql數(shù)據(jù)庫(kù)的的密碼

(1)知道密碼,修改密碼

? ? 第一空凸,連接mysql數(shù)據(jù)庫(kù)

? ? 第二嚎花,切換數(shù)據(jù)庫(kù) mysql? use mysql

? ? 第三,進(jìn)行密碼的修改 update user set password=password('要修改成的密碼的值') where user='root';

? ? 第四劫恒,重新啟動(dòng)mysql服務(wù)


忘記MySQL數(shù)據(jù)庫(kù)密碼操作

忘記密碼贩幻,重置密碼

? ? 第一,把mysql的服務(wù)關(guān)閉? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? 第二两嘴,打開(kāi)cmd窗口丛楚,輸入命令 mysqld --skip-grant-tables(不要加分號(hào)) //skip:跳過(guò)? grant:權(quán)限?

? ? 第三,再打開(kāi)cmd窗口憔辫,連接數(shù)據(jù)庫(kù)趣些,不需要輸入密碼? mysql -u root

? ? 第四,切換數(shù)據(jù)庫(kù) mysql? use mysql

? ? 第五贰您,進(jìn)行密碼的修改 update user set password=password('要修改成的密碼的值') where user='root';

? ? 第六坏平,把兩個(gè)cmd窗口都關(guān)閉,打開(kāi)任務(wù)管理器锦亦,找到mysqld進(jìn)程舶替,結(jié)束

? ? 第七,啟動(dòng)mysql服務(wù)

---------------------

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末杠园,一起剝皮案震驚了整個(gè)濱河市顾瞪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抛蚁,老刑警劉巖陈醒,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瞧甩,居然都是意外死亡钉跷,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門肚逸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)爷辙,“玉大人,你說(shuō)我怎么就攤上這事朦促∪郑” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵思灰,是天一觀的道長(zhǎng)玷犹。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么歹颓? 我笑而不...
    開(kāi)封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任坯屿,我火速辦了婚禮,結(jié)果婚禮上巍扛,老公的妹妹穿的比我還像新娘领跛。我一直安慰自己,他們只是感情好撤奸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布吠昭。 她就那樣靜靜地躺著,像睡著了一般胧瓜。 火紅的嫁衣襯著肌膚如雪矢棚。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天府喳,我揣著相機(jī)與錄音蒲肋,去河邊找鬼。 笑死钝满,一個(gè)胖子當(dāng)著我的面吹牛兜粘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弯蚜,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼孔轴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了碎捺?” 一聲冷哼從身側(cè)響起路鹰,我...
    開(kāi)封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牵寺,沒(méi)想到半個(gè)月后悍引,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體恩脂,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帽氓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了俩块。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黎休。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖玉凯,靈堂內(nèi)的尸體忽然破棺而出势腮,到底是詐尸還是另有隱情,我是刑警寧澤漫仆,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布捎拯,位于F島的核電站,受9級(jí)特大地震影響盲厌,放射性物質(zhì)發(fā)生泄漏署照。R本人自食惡果不足惜祸泪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望建芙。 院中可真熱鬧没隘,春花似錦、人聲如沸禁荸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赶熟。三九已至瑰妄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钧大,已是汗流浹背翰撑。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留啊央,地道東北人眶诈。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像瓜饥,于是被迫代替她去往敵國(guó)和親逝撬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 觀其大綱 page 01 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫(kù)概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 M...
    周少言閱讀 3,158評(píng)論 0 33
  • MYSQL 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫(kù)概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 MySQL基本操...
    Kingtester閱讀 7,817評(píng)論 5 116
  • 一件衣服最好的歸宿乓土,是遇見(jiàn)靈魂相似的身體宪潮。一顆大紅柑也是。柑皮和普洱趣苏,誰(shuí)是衣服狡相,誰(shuí)是身體,誰(shuí)是靈魂食磕,誰(shuí)又成就...
    水墨含聲閱讀 256評(píng)論 0 1
  • 迷茫不安中總是要做出一些舉動(dòng)好像才能打破這些不安 2016年夏尽棕,18歲,我高中畢業(yè)了彬伦。距離大學(xué)開(kāi)學(xué)還有10來(lái)天滔悉。我...
    青絲引閱讀 692評(píng)論 2 3
  • 最初的面龐,輾轉(zhuǎn)舊夢(mèng)無(wú)常 韶華盛處单绑,不知情長(zhǎng) 轉(zhuǎn)身間已天各一方 此去經(jīng)年回官,多少生動(dòng)的笑容,模糊成美好卻冰涼的影像 ...
    弦音0011閱讀 309評(píng)論 0 5