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