SQL:Structure Query Language 結(jié)構(gòu)化查詢語言,它是一種關(guān)系型數(shù)據(jù)庫通用的語言。用來對數(shù)據(jù)庫進行管理,主要分成以下四大類
1.Data Definition Language:簡稱為DDL,數(shù)據(jù)定義語言
Definition:n. 定義
用途:創(chuàng)建數(shù)據(jù)庫 創(chuàng)建表 對數(shù)據(jù)庫和表進行操作
2.Data Manipulation Language:簡稱為DML語言,數(shù)據(jù)操作語言
Manipulation:n. 操縱;操作;處理;篡改
用途:對記錄進行增刪改的操作
3.Data Query Language:簡稱為DQL,數(shù)據(jù)查詢語言
用途:對記錄進行查詢的操作,用得最多(重點)
4.Data Control Language:簡稱為DCL,數(shù)據(jù)控制語言
用途:對用戶和權(quán)限進行管理,用得比較少,一般給DBA使用
-- 創(chuàng)建數(shù)據(jù)庫 CREATE DATABASE 數(shù)據(jù)庫名;
創(chuàng)建的數(shù)據(jù)庫默認字符集是安裝數(shù)據(jù)庫指定的字符集格式(通常都是UTF-8)
-- 創(chuàng)建指定字符集的數(shù)據(jù)庫 CREATE DATABASE 數(shù)據(jù)庫名 CHARACTER SET gbk;
-- 查看創(chuàng)建數(shù)據(jù)庫的腳本 SHOW CREATE DATABASE 數(shù)據(jù)庫名;
SQLyog客戶端返回結(jié)果
可以從中獲取到默認的字符集是utf8
如果數(shù)據(jù)庫的名字被使用,在SQL中使用被使用的名字會報錯,所以在創(chuàng)建數(shù)據(jù)庫前需要判斷數(shù)據(jù)庫是否存在,不存在再創(chuàng)建數(shù)據(jù)庫
-- 判讀數(shù)據(jù)庫是否存在,不存在則創(chuàng)建數(shù)據(jù)庫 CREATE DATABASE IF NOT EXISTS 數(shù)據(jù)庫名;
DROP DATABASE 數(shù)據(jù)庫名;
-- 判讀數(shù)據(jù)庫是否存在,存在則刪除 DROP DATABASE IF EXISTS 數(shù)據(jù)庫名;
-- 查看所有的數(shù)據(jù)庫 SHOW DATABASES;
-- 查看創(chuàng)建數(shù)據(jù)庫的腳本 SHOW CREATE DATABASE 數(shù)據(jù)庫名;
SQLyog客戶端返回結(jié)果
-- 將數(shù)據(jù)庫的字符集修改為指定字符集 注意在MySQL中不可以是UTF-8只能寫成utf8 ALTER DATABASE 數(shù)據(jù)庫名 CHARACTER SET utf8;
-- 可以通過查看創(chuàng)建數(shù)據(jù)庫腳本命令 確定字符集是否修改成功 SHOW CREATE DATABASE 數(shù)據(jù)庫名;
查看當前使用的數(shù)據(jù)庫
SELECT DATABASE();
使用指定的數(shù)據(jù)庫
USE 數(shù)據(jù)庫名;
創(chuàng)建表之前需要先使用
USE 數(shù)據(jù)庫名;
-- 創(chuàng)建表 字段名 最好使用 ` `轉(zhuǎn)義包裹起來 防止和數(shù)據(jù)庫關(guān)鍵字沖突 CREATE TABLE 表名( `字段名` 字段類型, `字段名` 字段類型 );
MySQL支持的數(shù)據(jù)類型 紅色為常用類型
desc 表名;
SHOW CREATE TABLE 表名;
-- 創(chuàng)建表1,表1結(jié)構(gòu)和原始表結(jié)構(gòu)相同 CREATE TABLE 表1 LIKE 原始表名;
DROP TABLE 表名;
判斷表是否存在再刪除表
DROP TABLE IF EXISTS 表名;
/* 表操作練習 */ -- 創(chuàng)建數(shù)據(jù)庫名為mydb的數(shù)據(jù)庫 CREATE DATABASE mydb; -- 使用數(shù)據(jù)庫名為mydb的數(shù)據(jù)庫 USE mydb; -- 在mydb數(shù)據(jù)庫中創(chuàng)建一個student表 -- 包含id編號 整數(shù), -- name 長字符串長20, -- sex性別 定長型字符串1, -- birthday 字段日期類型 -- 使用反引號 `引起來,可以轉(zhuǎn)義 CREATE TABLE student( `id` INT COMMENT '編號', -- 字段的說明 保存在數(shù)據(jù)表中 可以不寫 `name` VARCHAR(20) COMMENT '姓名', -- 姓名 `sex` CHAR(1), -- 性別 `birthday` DATE -- 生日,注:最后一個字段沒有逗號 ); -- 查看表的結(jié)構(gòu) DESC student;
SQLyog客戶端返回結(jié)果
ALTER TABLE 表名 ADD 字段名 字段類型;
ALTER TABLE 表名 MODIFY 字段名 要修改成的字段類型;
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新字段類型;
ALTER TABLE 表名 DROP 字段名;
RENAME TABLE 舊的表名 TO 新的表名;
-- 如果表中已經(jīng)有數(shù)據(jù),刪除表結(jié)構(gòu)會導致表中所有的數(shù)據(jù)全部丟失 -- 可以修改表結(jié)構(gòu),不會影響數(shù)據(jù),只會影響表結(jié)構(gòu) -- 查看表結(jié)構(gòu) DESC student; -- 為學生表添加一個新的字段remark,類型為char(20) ALTER TABLE student ADD remark CHAR(20); -- 將student表中的remark字段的改成varchar(100) ALTER TABLE student MODIFY remark VARCHAR(100); -- 將student表中的remark字段名改成info,類型varchar(30) ALTER TABLE student CHANGE remark info VARCHAR(30); -- 刪除student表中的字段info ALTER TABLE student DROP info; -- 將學生表student改名成student2 RENAME TABLE student TO student2;
增加一條數(shù)據(jù),所有的字段都要給值
INSERT INTO 表名 VALUES(字段1的值,字段2的值,字段3的值....); 1.VALUES關(guān)鍵字也可以替換為VALUE但是不規(guī)范 2.字段的值的類型一定要與字段的類型一致,否則會報錯 3.字符串和日期使用單引號包裹起來 4.如果字段類型是字符串,那么給值的時候不能超出字段類型中字符串限定的長度 如:varchar(5)字符串的長度不能超過5個字符
INSERT INTO 表名 (字段1的名,字段2的名....) VALUES (字段1的值,字段2的值....);
INSERT INTO 表名 VALUES(字段1的值,字段2的值,字段3的值....),(字段1的值,字段2的值,字段3的值....),(字段1的值,字段2的值,字段3的值....);
-- 向?qū)W生表中插入所有字段,不寫字段名 INSERT INTO student VALUES (100, '學生1', '男', '1999-02-18'); INSERT INTO student VALUES (200, '學生2', '女', '1999-02-18'); -- 添加的字段補全 錯誤代碼: 1136 Column count doesn't match value count at row 1 INSERT INTO student VALUES ('學生1 ', '男', '1999-02-18'); -- 添加的字段超出 字符串長度閑置 錯誤代碼: 1406 Data too long for column 'sex' at row 1 INSERT INTO student VALUES (100, '學生1', '男1號', '1999-02-18'); -- 插入部分數(shù)據(jù),往學生表中添加id, name數(shù)據(jù) INSERT INTO student (id,NAME) VALUES (300,'學生3'); INSERT INTO student (id,NAME) VALUES (300,'學生3'),(400,'學生4'); -- 一條insert語句插入多條記錄 INSERT INTO student VALUES (400, '學生4', '女', '1994-02-18'),(500, '學生5', '男', '1999-02-11'),(600, '學生6', '男', '1993-02-18');
-- 不帶條件修改數(shù)據(jù),表中的所有數(shù)據(jù)都會被修改,一般不適用 UPDATE 表名 SET 字段名=值,字段名=值;
-- 只會更新符合條件的記錄 UPDATE 表名 SET 字段名=值,字段名=值 WHERE 條件;
-- 不帶條件修改數(shù)據(jù),將student表中的所有數(shù)據(jù)的性別改為女 UPDATE student SET sex='女'; -- 帶條件修改數(shù)據(jù),將id號為300的學生性別改成男 UPDATE student SET sex='男' WHERE id=300; -- 一次修改多個列,把id為600的學生,修改性別為男,生日:2000-11-11 UPDATE student SET sex='男',birthday='2000-11-11' WHERE id=600;
不帶條件刪除會刪除表中所有的數(shù)據(jù)
-- 基本不用,要記住慎用 DELETE FROM 表名; -- 刪除表的全部記錄,但是表還在 DROP TABLE 表名; -- 表會被刪除 表中的數(shù)據(jù)也會隨之刪除 -- 如果是事務(wù) 可以進行回滾
-- 在開發(fā)中通長會給數(shù)據(jù)一個刪除標記而不是完全的從數(shù)據(jù)庫中刪除 DELETE FROM 表名 WHERE 條件;
TRUNCATE 表名; -- 相當于刪除表 DROP TABLE 表名; -- 再創(chuàng)建表 CREATE DATABASE 表名; -- 這個操作不可被回滾
總結(jié)
-- 添加記錄 INSERT INTO 表名 VALUES(值,值.....); INSERT INTO 表名 (字段1,字段2....) VALUES(值1,值2....); -- 刪除記錄 DELETE FROM 表名 WHERE 條件; -- 修改記錄 UPDATE 表名 SET 字段1=修改的值,字段2=修改的值 WHERE 條件;
SELECT * FROM 表名;
從所有信息中查詢指定的字段
SELECT 字段1,字段2 FROM 表名;
SELECT * FROM 表名 WHERE 條件;
使用關(guān)鍵字AS (也可以省略)
SELECT 字段1 AS 別名1,字段2 AS 別名2 FROM 表名; -- 也可以省略AS SELECT 字段1 別名1,字段2 別名2 FROM 表名;
DISTINCT作用:去掉后面所有列都相同的行,如果后面有幾列,必須是這幾列都相同才會被去除
SELECT DISTINCT 字段 FROM 表名;
-- 查詢學生來自于哪些地方,并且去掉重復行 SELECT * FROM student; -- 修改表結(jié)構(gòu),添加一個名為address的字段,并且添加數(shù)據(jù) ALTER TABLE student ADD address VARCHAR(100); -- 只查詢地址這一列 SELECT address FROM student; -- 去除重復的數(shù)據(jù) -- DISTINCT作用:去掉后面所有列都相同的行,如果后面有幾列,必須是這幾列都相同才會被去除 SELECT DISTINCT address FROM student; -- 查詢學生的姓名和地址,去掉重復行。必須是這幾列都相同才會被去除 SELECT DISTINCT NAME, address FROM student;
select 列+數(shù)值 from 表名; -- 顯示的結(jié)果是列的值加上數(shù)值以后的結(jié)果,列必須是數(shù)值類型
select 列1+列2 from 表名; 列1和列2都是表中存在的字段
注意: 參與運算的必須是字段的數(shù)值類型
-- 修改student表結(jié)構(gòu),添加數(shù)學和英語成績列 ALTER TABLE student ADD math INT, ADD english INT; -- 查詢姓名、數(shù)學,將數(shù)學每個減10分。查詢的結(jié)果不一定是表中存在的列,也有可能是計算的結(jié)果 SELECT NAME,math, math-10 FROM student; -- 查詢所有列與math + english的和并使用別名”總成績” SELECT *, math+english 總成績 FROM student;
創(chuàng)建一個表并插入數(shù)據(jù)
CREATE TABLE student3 ( id int, -- 編號 name varchar(20), -- 姓名 age int, -- 年齡 sex varchar(5), -- 性別 address varchar(100), -- 地址 math int, -- 數(shù)學 english int -- 英語 ); INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'馬云',55,'男','杭州',66,78),(2,'馬化騰',45,'女','深圳',98,87),(3,'馬景濤',55,'男','香港',56,77),(4,'柳巖',20,'女','湖南',76,65),(5,'柳青',20,'男','湖南',86,NULL),(6,'劉德華',57,'男','香港',99,99),(7,'馬德',22,'女','香港',99,99),(8,'德瑪西亞',18,'男','南京',56,65);
>、大于 <、小于 <=、小于等于 >=、大于等于 =、等于 <> 、!=、不等于
AND 或 && 與操作 OR 或 || 或操作 NOT 或 ! 非操作
SELECT * FROM student3 WHERE math > 80; -- 查詢english分數(shù)小于或等于80分的學生 SELECT * FROM student3 WHERE english <=80; -- 查詢age等于20歲的學生,注:沒有== SELECT * FROM student3 WHERE age=20; -- 查詢age不等于20歲的學生,注:不等于有兩種寫法 SELECT * FROM student3 WHERE age<>20; -- SQL語句中使用<>方式比較多 SELECT * FROM student3 WHERE age!=20;
-- 查詢age大于35且性別為男的學生(兩個條件同時滿足) SELECT * FROM student3 WHERE age>35 AND sex='男'; -- 查詢age大于35或性別為男的學生(兩個條件其中一個滿足) SELECT * FROM student3 WHERE age>35 OR sex='男'; -- 查詢id是1或3或5的學生 SELECT * FROM student3 WHERE id=1 OR id=3 OR id=5;
SELECT * FROM 表名 WHERE 字段名 IN (值1,值2...);
用途:返回滿足括號內(nèi)給定值的記錄
-- 使用in關(guān)鍵字 SELECT * FROM student3 WHERE id IN (2,4,6); -- 刪除多條記錄 SELECT * FROM student; DELETE FROM student WHERE id IN (100,200,300);
SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 小值 AND 大值
用途:查詢列值在小值和大值之間,相當于 >=小值 而且 <=大值
注:between后面一定是小值, and后面一定是大值包頭又包尾
-- 查詢english成績大于等于77,且小于等于87的學生 SELECT * FROM student3 WHERE english BETWEEN 77 AND 87; -- 注:反過來寫是不行的,查詢不到任何的記錄 SELECT * FROM student3 WHERE english BETWEEN 87 AND 77;
SELECT 列名 FROM表名 WHERE 列名 LIKE 值;
用途:用于模糊查詢
注:如果沒有使用通配符默認是按等于查詢
% 匹配多個字符
_ 匹配一個字符
-- 查詢姓馬的學生 SELECT * FROM student3 WHERE NAME LIKE '馬'; -- 注:沒有任何一個學生的名字叫馬 -- 模糊查詢必須使用通配符 SELECT * FROM student3 WHERE NAME LIKE '馬%'; -- 查詢姓名中包含'德'字的學生 SELECT * FROM student3 WHERE NAME LIKE '%德%'; -- 匹配0~n個字符 -- 查詢姓馬,且姓名有2個字的學生 SELECT * FROM student3 WHERE NAME LIKE '馬_'; -- 下劃線是匹配1個字符 SELECT * FROM student3 WHERE NAME LIKE '馬__'; -- 查詢3個字的學生
-- 查詢英文成績?yōu)?span>NULL的學生 SELECT * FROM student3 WHERE english = NULL; -- 查詢不到任何的記錄 SELECT * FROM student3 WHERE english IS NULL; -- 正確寫法 -- 查詢英語成績不為NULL的學生 SELECT * FROM student3 WHERE english IS NOT NULL; -- 查詢姓名和英語成績,如果英語為null,則顯示為0分 SELECT NAME, english FROM student3; -- 使用函數(shù):ifnull(字段名, 默認值) 如果這個字段有值就顯示它原來的值,如果為NULL,就顯示后面的默認值 SELECT NAME 姓名, IFNULL(english,0) 英語 FROM student3
SELECT 列名 FROM 表名 ORDER BY 列名 [ASC/DESC], 列名 [ASC/DESC]; -- ASC是升序 默認就是升序 可以不寫 -- DESC是降序 可以多列一同使用排序
-- 查詢所有數(shù)據(jù),使用年齡降序排序,沒有排序前默認按添加到數(shù)據(jù)庫中記錄的順序顯示 SELECT * FROM student3 ORDER BY age; -- 默認是按升序 SELECT * FROM student3 ORDER BY age DESC;
-- 查詢所有年齡大于20歲的學生,在年齡降序排序的基礎(chǔ)上,如果年齡相同再以數(shù)學成績升序排序 SELECT * FROM student3 WHERE age >20 ORDER BY age DESC, math ASC;
所有的關(guān)系型數(shù)據(jù)庫都支持聚合函數(shù),使用聚合函數(shù)查詢是列向查詢,它是對一列的值進行計算,并返回結(jié)果。
注:所有的聚合函數(shù)會忽略空值。
-- 修改表student3為student RENAME TABLE student3 TO student; SELECT * FROM student; -- 創(chuàng)建表 CREATE TABLE student( id INT, `name` VARCHAR(20), `math` int, `chinese` int, `english` int ); -- 查詢學生總數(shù),星號表示所有的列 SELECT COUNT(*) 總?cè)藬?shù) FROM student; -- 也可以使用COUNT(1),效果等同于COUNT(*) SELECT COUNT(1) 總?cè)藬?shù) FROM student; -- 如果某個字段的所有記錄都不存在NULL值 可以使用COUNT(字段名) SELECT COUNT(id) 總?cè)藬?shù) FROM student; -- 如果這一列中存在空值,聚合函數(shù)會忽略空值 SELECT COUNT(english) 總?cè)藬?shù) FROM student; -- 查詢年齡大于40的總數(shù)(可以在聚合函數(shù)中使用條件) SELECT COUNT(*) 總?cè)藬?shù) FROM student WHERE age > 40; -- 查詢數(shù)學成績的總和,針對一列操作 SELECT SUM(math) 數(shù)學總分 FROM student; -- 對非數(shù)值類型求和沒有含義 不會報錯但是會返回值 SELECT SUM(`name`) 數(shù)學總分 FROM student; -- 查詢數(shù)學成績平均分,整數(shù)的平均得到的是小數(shù) SELECT AVG(math) 數(shù)據(jù)平均分 FROM student; -- 查詢數(shù)學成績最高分 SELECT MAX(math) 最高分 FROM student; -- 查詢數(shù)學成績最低分 SELECT MIN(math) 最低分 FROM student;
SELECT 列名 FROM 表名 GROUP BY 分組列 HAVING 過濾條件;
用途:
將分組字段結(jié)果中相同內(nèi)容作為一組,如按性別將學生分成2組。返回每組的第一條數(shù)據(jù),所以單獨分組沒什么用處。分組的目的就是為了統(tǒng)計,一般分組會跟聚合函數(shù)一起使用。
-- 刪除已經(jīng)存在的student表 DROP TABLE IF EXISTS student ; -- 創(chuàng)建新的student表 CREATE TABLE student( sid INT PRIMARY KEY, `name` VARCHAR(20), `sex` CHAR(1) ); -- 在student表中插入數(shù)據(jù) INSERT INTO student VALUES (1,'小明','男'),(2,'小紅','女'),(3,'小剛','男'); -- 用sex字段對studen分組 返回所有字段的值 SELECT * FROM student GROUP BY sex;
執(zhí)行結(jié)果
只返回了每組的第一條數(shù)據(jù)
-- 刪除已經(jīng)存在的student表 DROP TABLE IF EXISTS student ; -- 創(chuàng)建新的student表 CREATE TABLE student( sid INT PRIMARY KEY, `name` VARCHAR(20), `sex` CHAR(1) ); -- 在student表中插入數(shù)據(jù) INSERT INTO student VALUES (1,'小明','男'),(2,'小紅','女'),(3,'小剛','男'); -- 用sex字段對studen分組 SELECT sex 性別,COUNT(sex) 人數(shù) FROM student GROUP BY sex;
執(zhí)行結(jié)果
查詢數(shù)學成績大于等于60分的學生,按性別分組,統(tǒng)計每組的人數(shù),只顯示性別人數(shù)大于2的數(shù)據(jù)。
-- 刪除已經(jīng)存在的student表 DROP TABLE IF EXISTS student ; -- 創(chuàng)建新的student表 CREATE TABLE student( sid INT PRIMARY KEY, `name` VARCHAR(20), `sex` CHAR(1), `math` INT, `chinese` INT, `english` INT ); -- 在student表中插入數(shù)據(jù) INSERT INTO student VALUES (1,'小明','男',56,55,88),(2,'小紅','女',66,78,55),(3,'小剛','男',100,99,98),(4,'小黃','男',60,79,88),(5,'小梅','女',60,79,88),(6,'小麗','女',60,79,88); -- 查詢數(shù)學成績大于等于60分的學生,按性別分組,統(tǒng)計每組的人數(shù),只顯示性別人數(shù)大于2的數(shù)據(jù)。 SELECT sex 性別 , COUNT(*) FROM student WHERE math >= 60 GROUP BY sex HAVING COUNT(*) > 2;
執(zhí)行結(jié)果
用途:限制從表中返回的查詢記錄,通常稱為分頁的操作
使用場景:比如我們登錄京東,淘寶,返回的商品信息可能有幾萬條,不是一次全部顯示出來。是一頁顯示固定的條數(shù)。
語法:
limit 起始行號(從0開始), 返回的數(shù)據(jù)記錄數(shù); -- 使用方式:放在WHERE后面
-- 刪除已經(jīng)存在的student表 DROP TABLE IF EXISTS student ; -- 創(chuàng)建新的student表 CREATE TABLE student( sid INT PRIMARY KEY, `name` VARCHAR(20), `sex` CHAR(1), `math` INT, `chinese` INT, `english` INT ); -- 在student表中插入數(shù)據(jù) INSERT INTO student VALUES (1,'小明','男',56,55,88), (2,'小紅','女',66,78,55), (3,'小剛','男',100,99,98), (4,'小黃','男',60,79,88), (5,'小梅','女',60,79,88), (6,'小麗','女',60,79,88), (7,'小美','女',60,79,88), (8,'小花','女',60,79,88), (9,'小蕾','女',60,79,88); -- 每頁顯示5條 -- 第一頁:從第0行開始,顯示5條 SELECT * FROM student LIMIT 0,5;
執(zhí)行結(jié)果
-- 第二頁:從第5行開始,顯示5條 SELECT * FROM student LIMIT 5,5;
執(zhí)行結(jié)果
SELECT 字段 FROM 表 WHERE 條件 GROUP BY 分組列 HAVING 過濾條件 ORDER BY 排序列 LIMIT 開始行, 返回行的數(shù)量;
DCL (Data Control Language):數(shù)據(jù)庫安裝后默認使用的是root用戶就是超級管理員,擁有全部的權(quán)限。一個公司里面的數(shù)據(jù)庫服務(wù)器上面可能同時運行著很多個項目的數(shù)據(jù)庫。所以,我們應(yīng)該可以根據(jù)不同的項目建立不同的用戶,分配不同的權(quán)限來管理和維護數(shù)據(jù)庫。
CREATE USER '用戶名'@'主機名' IDENTIFIED BY '密碼'; CREATE USER '用戶名'@'%' IDENTIFIED BY '密碼'; -- 在任意主機上登陸 CREATE USER '用戶名'@'主機名'; -- 一些版本的數(shù)據(jù)可可以不設(shè)置密碼,使用用戶名直接登陸
用戶名:登錄用戶的名字
主機名:這個用戶可以在哪臺機器上登錄,如果是本機服務(wù)器,使用localhost如果可以在任何一臺主機上登錄可以使用'%'
注:創(chuàng)建的用戶名都在mysql數(shù)據(jù)庫中的user表中可以查看到,密碼經(jīng)過了加密。
創(chuàng)建的新用戶默認是沒有任何權(quán)限的,需要使用root賬戶授權(quán)
GRANT 權(quán)限 ON 數(shù)據(jù)庫.表名 TO '用戶名'@'主機名';
權(quán)限:操作權(quán)限:CREATE, ALTER, INSERT,DELETE,UPDATE,SELECT等,如果要設(shè)置所有的權(quán)限可以使用ALL
數(shù)據(jù)庫.表名:對哪個數(shù)據(jù)庫的哪個表設(shè)置上面的權(quán)限,可以使用通配符,如果要設(shè)置所有的庫所有的表,可以使用*.*
'用戶名'@'主機名':給哪個用戶設(shè)置權(quán)限,名字必須與創(chuàng)建的時候?qū)懛ㄏ嗤?/span>
GRANT CREATE,ALTER,INSERT,UPDATE,SELECT ON test.* to user1'@'localhost'; GRANT ALL ON *.* TO 'user2'@'%';
REVOKE 權(quán)限 ON 數(shù)據(jù)庫.表名 FROM '用戶名'@'主機名';
權(quán)限:權(quán)限用戶的操作權(quán)限:CREATE, ALTER, INSERT,DELETE,UPDATE,SELECT等,如果要設(shè)置所有的權(quán)限可以使用ALL
數(shù)據(jù)庫名.表名: 對哪個數(shù)據(jù)庫的哪個表設(shè)置上面的權(quán)限,可以使用通配符,如果要設(shè)置所有的庫所有的表,可以使用*.*
'用戶名'@'主機名':給哪個用戶撤銷權(quán)限,名字必須與創(chuàng)建的時候?qū)懛ㄏ嗤?/span>
DROP USER '用戶名'@'主機名' -- 用戶名必須與創(chuàng)建的時候相同
這條命令不在MySQL中執(zhí)行,要在系統(tǒng)的CMD中執(zhí)行
安裝目錄下:C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin.exe文件
SET PASSWORD=PASSWORD('密碼')
注:用戶登錄后操作,在mysql中已經(jīng)登錄的情況下使用這條命令
備份命令是在系統(tǒng)的CMD中執(zhí)行的不是在MySQL中執(zhí)行的
C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe 格式:mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫名>文件名 將指定的數(shù)據(jù)庫備份到一個SQL文件中
注:這個操作需要登錄,它是mysql中命令
USE 數(shù)據(jù)庫名; SOURCE 文件名;
聯(lián)系客服