目錄
- 資料庫是什么
- 為什么使用資料庫
- 資料庫的分類
- 關系型資料庫
- 非關系型資料庫
- 區別
- mysql的架構
- MySQL的安裝(Windows)
- 資料庫服務器、資料管理系統、資料庫、表、記錄的關系
- 初始MySQL
- 操作資料庫
- 增:
- 刪:
- 改:
- 查:
- 操作資料表
- 資料相關
- 資料型別
- 單表中資料的增、刪、改、查
- 操作資料庫
資料庫是什么
資料庫:存盤資料的倉庫
為什么使用資料庫
之前用excel來進行管理資料,有諸多問題:
- 電子表格只能處理有限的資料列和資料行,對于數百萬玩、數千萬等巨大的資料列很難有效地處理
- 電子表格無法提供安全、方便地權限管理和控制手段
- 電子表格很難實作多個資料之間地關聯
- 電子表格很難實作并發控制、增量維護等管理方式
這些問題,資料庫都能解決,資料庫是一種有效地管理大量的、安全的、并發的、關聯的、一致的資料管理工具,
資料庫的分類
關系型資料庫
關系資料庫,是建立在關系模型基礎上的資料庫,借助于集合代數等數學概念和方法來處理資料庫中的資料,
關系模型由關系資料結構、關系操作集合、關系完整性約束三部分組成,
也就是說對于每一列的資料型別會有約束,
典型的關系型資料庫:
- MySQL、 MariaDB
- Oracle 甲骨文公司,收費昂貴
- SQL Server 微軟出品
- SQLite 小型的檔案資料庫
非關系型資料庫
- MemCache
- mongoDB
- Redis
非關系型資料庫以key-value的形式存盤資料
區別
關系型資料庫,把資料存在硬碟中
非關系型資料庫, 把資料存在記憶體中
mysql的架構
類似于socket的客戶端和服務端
流程:
- mysql服務端先啟動,監聽在一個特定的埠,默認是3306
- mysql客戶端連接服務端
- mysql客戶端就可以發出相關的操作命令,去操作服務端儲存的資料
MySQL的安裝(Windows)
-
官網下載之后5.7版本的
-
解壓到指定目錄 如
C:\mysql-5.7.28-winx64 -
添加環境變數 ,在系統環境變數Path添加
C:\mysql-5.7.28-winx64\bin -
初始化
mysqld --initialize-insecure# 創建data目錄,用來存盤資料庫 -
啟動MySQL服務
- 可以在cmd(win10需要管理員權限)中運行
mysqld --install安裝服務 - 或者在win10服務中啟動MySQL
- 可以在cmd(win10需要管理員權限)中運行
-
啟動MySQL客戶端并連接MySQL服務
mysql -u root -p
-
修改mysql密碼
mysqladmin -uroot -p '原密碼' password '要修改的密碼'
常用的引數:
-u user 用戶名
-p password 密碼
-h host主機名或ip mysql -h 192.168.1.1 -uroot -p
-P 埠 默認是3306 mysql -h 192.168.1.1 -P 3306 -uroot -p
忘記密碼:
先關閉mysqld服務 net stop mysql
在cmd中執行: mysqld --skip-grant-tables
再開一個cmd執行: mysql -uroot -p 此時不需要輸入密碼
執行sql陳述句: update mysql.user set authentication_string=password('') where user='root';
重啟mysql服務
資料庫服務器、資料管理系統、資料庫、表、記錄的關系
- 資料庫服務器:運行資料庫管理軟體
- 資料庫管理軟體:管理資料庫,如MySQL
- 資料庫:用來組織表,相當于win系統中檔案夾的概念
- 表:即檔案,用來存放多條記錄
初始MySQL
操作資料庫
增:
create database 資料庫名稱 charset utf8; # 字符集默認時latin1
資料庫命名規范:
- 可以由字母、數字、下劃線、@、#、$
- 區分大小寫
- 具有唯一性
- 不能使用關鍵字如 select create
- 不能單獨使用數字
- 最長128位
刪:
drop database 資料庫名稱;
改:
資料庫洗掉了再添加
線上環境下,不能直接洗掉資料,再洗掉之前需要進行備份
查:
show database; # 查看資料庫
use 資料庫名稱
操作資料表
創建表:(表是二維的,要有欄位)
mysql> create table setcreed(
-> id int,
-> name varchar(20)
-> );
查看表:
mysql> show tables;
洗掉表:
mysql> drop table setcreed;
查看資料表結構:
mysql> desc setcreed;
或者
mysql> show create table setcreed;
資料相關
資料型別
- 常用資料型別如下:
- 整數:int, bit
- 小數:decimal
- 字串:varchar, char
- 日期時間:date, time, datetime
- 列舉型別(enum)
- 特別說明的型別如下:
- decimal表示浮點數,如decimal(5, 2)表示共存5位數、小數占2位
- char表示固定長度的字串,如char(3),如果填充'ab'時會補一個空格為'ab '
- varchar表示可變長度的字串,如varchar(3),填充'ab'時就會儲存ab
- 字串text表示儲存大文本,當字符大于4000時推薦使用
- 對于圖片、音頻、視頻等檔案,不存盤在資料庫里,而是上傳到服務器中,然后在表中存盤這個檔案的url
單表中資料的增、刪、改、查
- insert 插入資料
mysql> insert into setcreed(id,name) values(2, 'neo'),(3, 'cwz');
insert 另一種方式插入資料:
mysql> insert into setcreed set id=4, name='soso';
- 查看表中資料
select 查詢方法:
mysql> select * from setcreed;
# * 表示查看所有內容
查詢后面可以跟條件:
mysql> select * from setcreed where id<3;
- update更新資料
mysql> update setcreed set name='qwe' where id=3;
- delete 洗掉資料
mysql> delete from setcreed where id=4;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/114641.html
標籤:MySQL
上一篇:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
下一篇:SQL手工注入方法
