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:\\ProgramData\\MySQL 將這個刪除乾淨,包括空文件也要刪除
註冊表的事情,就不要亂動了。。後面再試試重新安裝一個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
我是小川,一枚計算機專業的大學生,如果有更好的補充,請在下方留言吧
閱讀更多 小川的大學生活 的文章