標籤:tool ... code shu character master 檔案中 truncate kill
mysql安裝與下載
a:官網下載mysql安裝程式b:安裝mysql服務端c:安裝mysql用戶端d:用戶端串連服務端e:通過用戶端向伺服器發送命令,執行對資料庫檔案的增刪改差操作。
Windows版安裝
#1.下載:MySQL Community Server 5.7.20 https://dev.mysql.com/downloads/mysql/#2.解壓將官網下載的解壓包 解壓到指定目錄(例如 D://mysql-5.7.20-winx64)#3.添加環境變數【右鍵電腦】--》【屬性】--》【進階系統設定】--》【進階】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】C:\Program Files (x86)\Parallels\Parallels Tools\Applications;d:\mysql-5.7.16-winx64\bin#4.初始化mysqld --initialize-insecure#5.啟動mysql服務mysqld#6.串連mysql服務mysql -uroot -p 斷行符號,有密碼輸入密碼,沒有繼續斷行符號解壓方式安裝解壓方式安裝
解壓方式安裝
ps:製作服務必須使用全路徑方式# 製作MySQL的Windows服務,在終端執行此命令:"c:\mysql-5.7.16-winx64\bin\mysqld" --install# 移除MySQL的Windows服務,在終端執行此命令:"c:\mysql-5.7.16-winx64\bin\mysqld" --remove‘# 啟動MySQL服務net start mysql(後面不加分號)# 關閉MySQL服務net stop mysql(後面不加分號)
製作服務
1.建立資料庫
create database 庫名;
#建立一個名字為 db_name 的資料庫,並指定當前庫的編碼集為utf8CREATE DATABASE db_name charset utf8;
2.查資料庫
use 庫名;
#查詢目前使用者下所有資料庫show databases;#查看建立資料庫的資訊show create database db_name;#查詢當前操作所在的資料庫名稱select database();
3.查詢當前庫下所有的表
show tables 顯示庫中所有的表
show databases顯示所有資料庫
4.刪除
drop database 庫名; 刪除資料庫
什麼是SQL?
上面咱們介紹過資料庫的組成部分,其中資料庫管理系統可以接收一些命令,對資料檔案進行添加、刪除、修改、查詢等操作。那麼這些命令就是 SQL .
SQL:(Structured Query Language)是結構化查詢語言 (SQL)縮寫。是一門專門與資料庫管理系統打交道的語言。
SQL語言:是關係型資料庫的標準語言, 其主要用於存取資料,查詢資料,更新資料和管理資料庫系統等操作。
具體可以把SQL分為4個部分:
資料控制語言 ( DCL): 主要用於控制使用者的存取權限。其中GRANT語句用於給使用者增加許可權,REVOKE語句用於收回使用者的許可權
資料定義語言 (Data Definition Language)(DDL):DROP、CREATE、ALTER等語句;資料庫定義語言。主要用於定義資料庫,表,視圖,索引和觸發器等。CREATE語句主要用於建立資料庫,建立表,建立視圖。ALTER語句主要用於修改表的定義,修改視圖的定義。DROP語句主要用於刪除資料庫,刪除表和刪除視圖等。
資料操作語言(DML):INSERT、UPDATE、DELETE語句;資料庫操作語言。主要用於插入資料,更新資料,刪除資料。INSERT語句用於插入資料,UPDATE語句用於更新資料,DELETE語句用於刪除資料.
資料查詢語言(DQL):SELECT語句。主要用於查詢資料。
#1. 操作檔案夾 增:create database db1 charset utf8; 查:show databases; 改:alter database db1 charset latin1; 刪除: drop database db1;#2. 操作檔案 先切換到檔案夾下:use db1 增:create table t1(id int,name char); 查:show tables 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 刪:drop table t1; #3. 操作檔案中的內容/記錄 增:insert into t1 values(1,‘egon1‘),(2,‘egon2‘),(3,‘egon3‘); 查:select * from t1; 改:update t1 set name=‘sb‘ where id=2; 刪:delete from t1 where id=1; 清空表: delete from t1; #如果有自增id,新增的資料,仍然是以刪除前的最後一樣作為起始。 truncate table t1;資料量大,刪除速度比上一條快,且直接從零開始, auto_increment 表示:自增 primary key 表示:約束(不能重複且不可為空);加速尋找....
#1. 操作檔案夾 增:create database db1 charset utf8; 查:show databases; 改:alter database db1 charset latin1; 刪除: drop database db1;#2. 操作檔案 先切換到檔案夾下:use db1 增:create table t1(id int,name char); 查:show tables 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 刪:drop table t1; #3. 操作檔案中的內容/記錄 增:insert into t1 values(1,‘egon1‘),(2,‘egon2‘),(3,‘egon3‘); 查:select * from t1; 改:update t1 set name=‘sb‘ where id=2; 刪:delete from t1 where id=1; 清空表: delete from t1; #如果有自增id,新增的資料,仍然是以刪除前的最後一樣作為起始。 truncate table t1;資料量大,刪除速度比上一條快,且直接從零開始, auto_increment 表示:自增 primary key 表示:約束(不能重複且不可為空);加速尋找
可以由字母、數字、底線、@、#、$區分大小寫唯一性不能使用關鍵字如: CREATE SELECT不能單獨使用數字最長128位
命名規範
使用者權限
建立使用者 create user ‘使用者名稱‘@‘IP地址‘ identified by ‘密碼‘;刪除使用者 drop user ‘使用者名稱‘@‘IP地址‘;修改使用者 rename user ‘使用者名稱‘@‘IP地址‘; to ‘新使用者名稱‘@‘IP地址‘;
使用者管理
#建立新使用者create user ‘alex‘@‘localhost‘ identified by ‘123456‘;#授權方式一:為alex授權 db1資料庫下的所有表的 查詢.更新.修改許可權grant select,update,delete on db1.* to ‘alex‘@‘localhost‘;#授權方式二:為alex 授權 所有庫的所有許可權(除grant許可權外)grant all privileges on *.* to ‘alex‘@‘localhost‘;#重新整理使用者權限flush privileges;
建立使用者及授權樣本
all privileges 除grant外的所有許可權 select 僅查許可權 select,insert 查和插入許可權 ... usage 無存取權限 alter 使用alter table alter routine 使用alter procedure和drop procedure create 使用create table create routine 使用create procedure create temporary tables 使用create temporary tables create user 使用create user、drop user、rename user和revoke all privileges create view 使用create view delete 使用delete drop 使用drop table execute 使用call和預存程序 file 使用select into outfile 和 load data infile grant option 使用grant 和 revoke index 使用index insert 使用insert lock tables 使用lock table process 使用show full processlist select 使用select show databases 使用show databases show view 使用show view update 使用update reload 使用flush shutdown 使用mysqladmin shutdown(關閉MySQL) super 使用change master、kill、logs、purge、master和set global。還允許mysqladmin調試登陸 replication client 伺服器位置的訪問 replication slave 由複製從屬使用
許可權列表
1 方式一: mysqladmin 命令 2 3 4 mysqladmin -u使用者名稱 -p密碼 password 新密碼 5 方式二: 直接設定使用者密碼 6 7 8 set password for ‘使用者名稱‘@‘IP‘ = password(‘新密碼‘); 9 10 flush privileges;11 方式三:修改mysql庫下的user表12 13 14 5.7版本修改密碼方式:15 update mysql.user set authentication_string=password(‘新密碼‘) where user= ‘使用者名稱‘ 16 flush privileges; -- 重新整理許可權17 18 5.6 版本19 update mysql.user set password = password(‘新密碼‘) where user= ‘使用者名稱‘20 flush privileges; -- 重新整理許可權21 六.忘記密碼
修改密碼
在忘記root密碼的時候,可以這樣: #1.首先開啟cmd 視窗,關閉mysql服務 net stop mysql #2.然後跳過許可權檢查,啟動mysql,輸入命令 mysqld --skip-grant-tables #3.重新開啟一個新的cmd視窗,啟動用戶端(已跳過許可權檢查,可以直接登入) mysql #4.直接進來,修改密碼update mysql.user set authentication_string=password(‘123456‘) where user=‘root‘; #5. 重新整理許可權flush privileges;
忘記密碼
查詢字元編碼
SHOW VARIABLES LIKE ‘char%‘;
#修改方法:#1. 建立my.ini檔案,放在mysql根路徑下#2. 在該檔案中添加以下內容即可:#3.添加此檔案後需要重新啟動服務,以保證此檔案生效------------------------------------------------------------[client]default-character-set=utf8[mysql]#設定mysql用戶端預設字元集default-character-set=utf8[mysqld]#設定3306連接埠port = 3306#允許最大串連數max_connections=200#服務端使用的字元集預設為8位元編碼的latin1字元集character-set-server=utf8#建立新表時將使用的預設儲存引擎default-storage-engine=INNODB#解決mysql在執行sql語句後出現1055錯誤,sql_mode = only_full_group_by不相容sql_mode=‘NO_ENGINE_SUBSTITUTION‘亂碼已死
亂碼已死
python之MySQL資料庫