MySQL數(shù)據(jù)庫(kù)開(kāi)發(fā)
基礎(chǔ)概念
1.數(shù)據(jù):描述事物特征的符號(hào),屬性
2.數(shù)據(jù)庫(kù)的概念:管理計(jì)算機(jī)中的數(shù)據(jù)的倉(cāng)庫(kù)
2.記錄: 一系列典型的特征
3.表:文件
4.庫(kù):文件夾
5.數(shù)據(jù)庫(kù)管理軟件:MySQL oracle,db2,sqlserver
6.數(shù)據(jù)庫(kù)服務(wù)器:運(yùn)行數(shù)據(jù)庫(kù)管理軟件的計(jì)算機(jī)
7.mysql是一個(gè)基于socket編寫的C/S架構(gòu)的軟件
數(shù)據(jù)庫(kù)管理軟件
分類
關(guān)系型:sqllite db2,oracle sqlserver. MySQL
就是一個(gè)個(gè)表結(jié)構(gòu)組成的,表結(jié)構(gòu)就是由一些字段(屬性)+約束條件+數(shù)據(jù)類型組成的
非關(guān)系型:mongdb redis
2.非關(guān)系型:mongdb redis
沒(méi)有表的結(jié)構(gòu),
存儲(chǔ)方式
關(guān)系型:二維表的形式
非關(guān)系型:key:value
安裝
1.linux版本
2.windows版本
安裝方式:圖形化指導(dǎo)安裝,命令形式安裝
選擇版本:5.5 ,5.6,盡量不安裝8版本的,坑
基本是點(diǎn)默認(rèn)。
如果最后配置安裝的時(shí)候,開(kāi)啟啟動(dòng)服務(wù)停留了很久,
出現(xiàn)的原因是:之前安裝的mysql的配置文件沒(méi)有刪除干凈以及mysql服務(wù)注冊(cè)表沒(méi)有刪除,
解決辦法:
mysql數(shù)據(jù)配置文件默認(rèn)在C:ProgramDataMySQL 將這個(gè)刪除干凈,包括空文件也要?jiǎng)h除
注冊(cè)表的事情,就不要亂動(dòng)了。。后面再試試重新安裝一個(gè)MySQL,
步驟只到安裝完成,后面配置部分就不要點(diǎn)了,我們手動(dòng)配置系統(tǒng)服務(wù)
進(jìn)入cmd
輸入 mysqld --install MySQL55 這是生成一個(gè)系統(tǒng)服務(wù)名字叫MySQL55
然后 net start MySQL55 開(kāi)啟MySQL服務(wù)
以root登錄MySQL 直接回車進(jìn)入無(wú)需密碼,通過(guò)mysql.user表來(lái)添加密碼
mysql啟動(dòng)登錄
1.win+R 打開(kāi)搜索框 輸入cmd (這只是普通用戶登錄打開(kāi)cmd與上述cmd打開(kāi)方式不同)
2.然后輸入 mysql
3.然后輸入密碼 (root用戶默認(rèn)沒(méi)密碼直接回車)
密碼設(shè)置
一開(kāi)始沒(méi)有設(shè)置密碼所以需要設(shè)置
第一種:不用登錄進(jìn)mysql
win+Q 搜索cmd 選中命令提示符右擊管理員登錄。
輸入指令:mysqladmin -uroot -p password 123456
上述命令參數(shù)說(shuō)明:-u 指用戶 -p指密碼
上述指令意思:以root用戶登錄 設(shè)置密碼為123456
第二種:以root用戶登錄mysql
先登錄mysql,修改mysql數(shù)據(jù)庫(kù)中的表user的用戶的密碼
指令:update user set password=password('123456') where user="root";
指令解釋:修改表設(shè)置user為root的記錄的密碼為123456
修改密碼
(建議第二種方法)
第一種不登陸mysql:
修改密碼指令:mysqladmin -uroot -p123456 password 123abc;
上述指令意思:以root用戶登錄將密碼123456修改為123abc
第二種登錄mysql:
方法:修改mysql數(shù)據(jù)庫(kù)中表user
指令:update user set password=password('newmima') where user="root";
如果密碼忘記怎么辦?
WIndows下
1.徹底刪除mysql(暴力)
卸載mysql~~~~
2.繞開(kāi)權(quán)限表登錄(合理)
繞開(kāi)權(quán)限表登錄,然后進(jìn)入到mysql之后,設(shè)置密碼
(1)繞開(kāi)權(quán)限表:
管理員進(jìn)入cmd:
先停止當(dāng)前mysql服務(wù)輸入指令net stop MySQL
然后繞過(guò)權(quán)限表:mysqld --skip -grant-tables
(2)之后打開(kāi)一個(gè)新的cmd管理員身份登錄 mysql
輸入指令: mysql 回車就能直接登錄進(jìn)入mysql
輸入指令通過(guò)修改數(shù)據(jù)庫(kù)中的表設(shè)置密碼:(登錄進(jìn)mysql后每一條指令輸完后要加分號(hào),表示該指令結(jié)尾)
update mysql.user set password=password(‘123456’) where root and host=“l(fā)ocalhost”;
為什么不直接password=”123456“呢 而用password=password(‘123456’)這是因?yàn)榉湃氲綌?shù)據(jù)庫(kù)中的密碼不能是明文的,而是要加密的。所以使用他自帶的函數(shù)password()
刷新權(quán)限:flush privileges;
(3)殺死繞開(kāi)權(quán)限表的進(jìn)程,這樣我們才能以正常方式登錄
管理員身份進(jìn)入cmd
輸入指令:tasklist |findstr mysql 查詢mysql進(jìn)程
殺死進(jìn)程輸入指令:taskkill /F /pid 32312
上述指令參數(shù)說(shuō)明: /F 表示強(qiáng)制 /pid表示進(jìn)程號(hào) 后面32312是tasklist |findstr mysql查詢得到的進(jìn)程號(hào)
(4)啟動(dòng)mysql服務(wù)
進(jìn)入cmd 輸入:net start MySQL
(5)mysql -uroot -p 再輸入密碼就可以進(jìn)入了
查看數(shù)據(jù)庫(kù)文件存放的物理位置
show global variables like “%datadir%”;
sql(Structed query language)結(jié)構(gòu)化查詢語(yǔ)言
分類
1.DDL數(shù)據(jù)定義語(yǔ)言
操作對(duì)象:數(shù)據(jù)庫(kù),表,視圖等
2.DCL數(shù)據(jù)控制語(yǔ)言
操作對(duì)象: 表內(nèi)的內(nèi)容
操作:增 刪 修改
3.DML數(shù)據(jù)操縱語(yǔ)言
對(duì)數(shù)據(jù)庫(kù)進(jìn)行一些事務(wù)管理等:
比如授權(quán)。
4.DQL數(shù)據(jù)查詢語(yǔ)言
操作對(duì)象:數(shù)據(jù)。
操作:查詢
數(shù)據(jù)的CURD操作
操作數(shù)據(jù)庫(kù)(文件夾)
(記住幾個(gè)關(guān)鍵字就可以了)
CURD操作
增(Create)
CREATE database db1 charset utf8;
刪除(DELETE)
DROP database db1;
改(ALTER)
ALTER datbase charset gbk;
查(Retrieve)
SHOW databases;(顯示數(shù)據(jù)庫(kù)有哪些)
SHOW CREATE database db1;(查看當(dāng)前創(chuàng)建的數(shù)據(jù)庫(kù)db1)
操作表(文件)
選擇數(shù)據(jù)庫(kù)
use db1;
增加(CREATE)
CREATE table tb1(
sid int unsigned not null primary key auto_increment,
name varchar(20) not null,
age tinyint not null
);
刪除(DELETE)
DROP table tb1;
改
修改表的字段名: ALTER table change id sid int unsigned NOT NULL PRIMARY KEY;
查(RETRIEVE)
SHOW tables;//顯示所有的表
SHOW create table tb1;
DESC tb1;
操作數(shù)據(jù)
增
INSERT INTO tb(id,name)values(1,‘zc’),(2,‘ls’);
刪
DELETE FROM tb WHERE id=1;
改
UPDATE *FROM tB WHERE id=1;
查
SELECT *FROM tb ;//查詢整個(gè)表內(nèi)的所有數(shù)據(jù)
存儲(chǔ)引擎的介紹
什么是存儲(chǔ)引擎?
create table t1(id int)engine=innnodb;
就是控制管理表的類型,不同的引擎對(duì)于表的類型是有不同定義的,存儲(chǔ)引擎幫助管理存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)
數(shù)據(jù)操作
約束
概念:對(duì)數(shù)據(jù)進(jìn)行一些約束,保證數(shù)據(jù)的正確性和完整性
有四類:
1.主鍵約束 PRIMARY KEY
2.非空約束 NOT NULL
3.唯一約束 UNIQUE
4.外鍵約束 FOREIGN KEY
-
WINDOWS
+關(guān)注
關(guān)注
3文章
3521瀏覽量
88317 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3752瀏覽量
64233 -
MySQL
+關(guān)注
關(guān)注
1文章
797瀏覽量
26399
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論