Python高階 -- 07 MySQL資料庫
一、安裝MySQL資料庫
1、ubuntu中安裝MySQL服務端
(1)、安裝服務端
root@ubuntu:/usr/local# sudo apt-get install mysql-server
(2)、檢視mysql服務是否啟動
root@ubuntu:/usr/local# ps -ef | grep mysql
(3)、mysql服務啟動、停止的命令
root@ubuntu:/usr/local# sudo service mysql stop
root@ubuntu:/usr/local# sudo service mysql status
root@ubuntu:/usr/local# sudo service mysql restart
2、配置檔案
(1)、配置檔案位置
root@ubuntu:/# cd /etc/mysql/mysql.conf.d
(2)、主要配置項詳解
bind-address表示伺服器繫結的ip,預設為127.0.0.1
port表示埠,預設為3306
datadir表示資料庫目錄,預設為/var/lib/mysql
general_log_file表示普通日誌,預設為/var/log/mysql/mysql.log
log_error表示錯誤日誌,預設為/var/log/mysql/error.log
3、ubuntu中新增mysql的遠端訪問使用者
(1)、修該上述配置
將配置檔案中的bind-address註釋掉,表示允許其他ip訪問改mysql服務端
(2)、建立遠端訪問的賬戶
mysql> create user 'root'@'%' identified by '123'
mysql> grant all on *.* to 'root'@'%' with grant option;
mysql> flush privileges;
4、ubuntu中安裝客戶端
sudo apt-get install mysql-client
5、登入mysql
root@ubuntu:/# mysql -uroot -pmysql
二、資料庫操作及查詢語句
1、基本使用
(1)、檢視所有資料庫
show databases;
(2)、使用資料庫
use 資料庫名;
(3)、檢視當前使用的資料庫
select database();
(4)、建立資料庫
create database 資料庫名 charset=utf8;
(5)、刪除資料庫
drop database 資料庫名;
(6)、檢視當前資料庫中所有表
show tables;
(7)、檢視錶結構
desc 表名;
(8)、建立表
CREATE TABLE table_name(
column1 datatype 約束,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY(one or more columns)
);
(9)、新增表中欄位
alter table 表名 add 列名 型別;
(10)、修改表中欄位
重新命名
alter table 表名 change 原名 新名 型別及約束;
使用原名
alter table 表名 modify 列名 型別及約束;
(11)、刪除表中欄位
alter table 表名 drop 列名;
(12)、刪除表
drop table 表名;
(13)、檢視錶的建立語句
show create table 表名;
2、資料庫備份&恢復
(1)、備份資料庫
mysqldump –uroot –p 資料庫名 > 備份名稱.sql;
# 按提示輸入mysql的密碼
(2)、恢復資料庫
mysql -uroot –p 新資料庫名 < 備份名稱.sql
# 根據提示輸入mysql密碼
三、設計資料庫
1、三正規化
第一正規化(1NF):強調的是列的原子性,即列不能夠再分成其他幾列。
第二正規化(2NF):首先是 1NF,另外包含兩部分內容,一是表必須有一個主鍵;二是沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的一部分。
第三正規化(3NF):首先是 2NF,另外非主鍵列必須直接依賴於主鍵,不能存在傳遞依賴。即不能存在:非主鍵列 A 依賴於非主鍵列 B,非主鍵列 B 依賴於主鍵的情況。
2、不遵循三大正規化舉例
(1)、不遵循 1NF
(2)、不遵循 2NF
(3)、不遵循 3NF
(4)、最終正確資料庫
四、資料庫查詢語言
1、條件、排序、聚合、分組、分頁、連線查詢、子查詢、自關聯
略
2、查詢總結
(1)、完整的select語句
select distinct *
from 表名
where ....
group by ... having ...
order by ...
limit start,count
(2)、執行順序
from 表名
where ....
group by ...
select distinct *
having ...
order by ...
limit start,count
相關文章
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- 資料庫習題高階資料庫
- 資料庫高階恢復資料庫
- 11個高階MySQL資料庫面試問題和答案MySql資料庫面試
- python資料庫-mongoDB的高階查詢操作(55)Python資料庫MongoDB
- MySQL資料庫高可用方案MySql資料庫
- Python中的高階資料結構Python資料結構
- Python 中的高階資料結構Python資料結構
- 資料庫高階查詢之子查詢資料庫
- python使用mysql資料庫PythonMySql資料庫
- python資料庫(mysql)操作Python資料庫MySql
- python 操作mysql資料庫PythonMySql資料庫
- Python Mysql 資料庫操作PythonMySql資料庫
- python操作mysql資料庫PythonMySql資料庫
- 【Python】資料存放入mysql資料庫PythonMySql資料庫
- mysql資料庫磁碟io高的排查MySql資料庫
- Python高階 -- 08 MySQL與Python互動PythonMySql
- MYSQL 高階MySql
- MySQL高階MySql
- 【招聘資訊】騰訊雲資料庫高階專家資料庫
- 資料庫移植後高階複製出錯資料庫
- 高階工程師面試大全- 資料庫篇工程師面試資料庫
- 超詳細MySQL入門教程,這11個MySQL資料庫的高階特性你知道嗎?MySql資料庫
- Python之 操作 MySQL 資料庫PythonMySql資料庫
- Python連線MySQL資料庫PythonMySql資料庫
- python資料插入連線MySQL資料庫PythonMySql資料庫
- MySQL資料庫架構——高可用演進MySql資料庫架構
- MySQL資料庫的高可用性分析MySql資料庫
- MySQL資料庫 ---MySQL表的增刪改查(進階)MySql資料庫
- 將高版本mysql資料庫的資料匯入低版本mysql中MySql資料庫
- 資料庫開發(21)高階應用開發資料庫
- 資料庫開發(22)高階事務處理資料庫
- 使用RMAN高階應用之Duplicate複製資料庫資料庫
- 資料庫鏈、物化檢視、高階複製方面資料庫
- mysql高階特性MySql
- python與mysql資料庫互動PythonMySql資料庫
- 01-python操作Mysql資料庫PythonMySql資料庫
- Python3 MySQL 資料庫操作PythonMySql資料庫