MySQL 運維 - 從零開始學習
- 一、資料庫型別
- ? 常見的資料庫型別
- 二、資料庫管理系統 DBMS
- ?資料庫系統
- ?關系型資料庫
- ?非關系型資料庫 Not Only SQL
- 三、安裝MySQL
- ? Linux的RPM包功能
- 四、MySQL資料庫基礎操作命令
- ? 常用的資料型別
- ? 常用的基礎指令
- 登錄mysql資料庫
- 選中[使用]資料庫
- 查看資料庫
- 查看資料表
- 查看庫的字符集
- 查看資料表的資料型別
- 創建資料庫
- 創建UT8編碼的資料庫
- 創建資料表
- 向資料表插入資料
- 查看資料表內容
- 資料表內容縱向列出
- 顯示資料表內容的第二行
- 顯示資料表內容從第二行開始的一行
- 查詢多表內容
- 修改表名
- 擴展表結構(增加欄位)
- 修改欄位
- 洗掉資料庫
- 洗掉資料表
- 洗掉資料表欄位
- 洗掉資料表主鍵
- 洗掉資料表所有記錄
- 洗掉資料表指定內容
- 清空資料表資料
- 全域修改資料表內資料
- 修改表內指定內容的資料
- 修改表內指定資料型別
- 將欄位至于首位
- 將欄位名臨時修改并顯示
- 判斷查詢
- 排序查詢內容
- 反向排序查詢內容
- 表內容加鹽
MySQL是一款免費開源的關系型資料庫管理系統,關系型資料庫將資料保存在不同的表中,有效的提高了靈活性
一、資料庫型別
? 常見的資料庫型別
關系型資料庫:用于存盤字符、字串、數值以及布林值等
MySQL SQL_Server access Oracle DB2 sybase
非關系型資料庫:用于存盤圖片、視頻、語言等
MongoDB Redis(記憶體/快取資料庫) Memcache
Redis和Memcache對比
相同點:存盤高熱資料(在記憶體中高速運行)
不同點:Redis可以做持久化保存,可以存盤物件
二、資料庫管理系統 DBMS
專案架構,不是只有服務,還有一些通用的管理系統
比如BOSS CRM OA
?資料庫系統
它的處理比直接作用在資料庫中操作要簡單一些
目前主流的運行方式是關系型資料庫+非關系型資料庫集成為一個完整的架構
SQL+NoSQL保存資料并用分壓
?關系型資料庫
E-R 關系模型三要素
物體
可以是事物本身
關系
物體集之間對應的關系
屬性
一個物體可以有多個屬性,描述物體的特征
主鍵
唯一且非空
唯一鍵
可以為空(空值只能出現一次)
主鍵包含唯一鍵的部分屬性
?非關系型資料庫 Not Only SQL
存盤海量資料,給與大資料進行分析,篩選出有價值的部分
redis 資料保存在記憶體中,也會定期將資料寫入磁盤
Not Only SQL 不限于SQL
不需要遵循關系資料庫模型
也不使用SQL作為查詢語言
三、安裝MySQL
?官方下載地址
?國內源下載地址
? Linux的RPM包功能
MySQL只用于連接MySQL服務器MySQL-client顧名思義(客戶端),用于控制MySQL服務器MySQL-devel用于編譯客戶端MySQL-shared動態裝載的共享庫(libmysqlclient.so*)MySQL-bench性能測驗工具
四、MySQL資料庫基礎操作命令
? 常用的資料型別
| 變數 | 介紹 |
|---|---|
| int | 整型 |
| float | 單精度浮點 4位元組32位 |
| double | 雙精度浮點 8位元組64位 |
| char | 固定長度的字符型別 |
| varchar | 可變長度的字符型別 |
| text | 文本 |
| image | 圖片 |
| decimal (3,2) | 3個有效長度數字,小數點后面有2位 |
? 常用的基礎指令
登錄mysql資料庫
mysql -u 用戶名 -p
選中[使用]資料庫
use 資料庫名;
查看資料庫
show databases;
查看資料表
show tables;
查看庫的字符集
show character set;
查看資料表的資料型別
desc 資料表名;
創建資料庫
create database 資料庫名;
創建UT8編碼的資料庫
create datebase 表名 default characret set utf8 collate utf8_general_ci
創建資料表
create table 資料表名 (欄位名 欄位值(number));
舉例:
create table info (uid int(50),name varchar(100),sex varchar(2),status varchar(100));
向資料表插入資料
insert into 資料表名 (欄位名1,欄位名2...) values (欄位值1,欄位值2...)
舉例:
insert into info (uid,name,sex,status) values (1,'Frisk','未知','雪鎮');
查看資料表內容
select * from 表名
資料表內容縱向列出
select * from 表名\g
顯示資料表內容的第二行
select * from 表名 limit 2;
顯示資料表內容從第二行開始的一行
select * from 表名 limit 2,1;
查詢多表內容
select * from 表名1,表名2
修改表名
alter table 舊表名 rename 新表名
擴展表結構(增加欄位)
alter table 表名 address varchar(100) not nll default '未填寫';
修改欄位
alter table 表名 change 舊列名 新列名 欄位();
洗掉資料庫
drop database 資料庫名;
洗掉資料表
drop table 資料表名;
洗掉資料表欄位
alter table 表名 drop 欄位;
洗掉資料表主鍵
alter table 表名 drop primary key;
洗掉資料表所有記錄
一條一條洗掉速度較慢
delete from 表名;
洗掉資料表指定內容
delete from 表名 where 欄位名=欄位值;
清空資料表資料
整體洗掉速度較快
truncate 表名;
全域修改資料表內資料
update 表名 set 欄位名=欄位值
舉例:
update info set sex='男'
修改表內指定內容的資料
update 表名 set 欄位名=欄位值 where 欄位名=欄位值;
舉例:
update info set sex='女' where name='Frisk';
修改表內指定資料型別
alter table 表名 modify 欄位名 資料型別();
舉例:
alter table info modify uid int(10) not null default 'tan90°';
將欄位至于首位
alter table 表名 modify 欄位名 資料型別() frist;
將欄位名臨時修改并顯示
select 欄位名 as 新欄位名 from 表名;
舉例:
select name as 名字 from info;
判斷查詢
select * from 表名 where 欄位名>欄位值;
舉例:
select * from info where uid>0;
排序查詢內容
select * 表名 order by 欄位名 asc;
反向排序查詢內容
select * 表名 order by 欄位名 dasc;
表內容加鹽
update 表名 set 欄位名=加密方式('');
常用加密方式
- password
- md5
insert into user (password) values (md5('123456'));
- encode
- decode
encode和decode有些特殊
update user set pwd=decode('123456','123456');
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/273697.html
標籤:其他
