建站技術網專注分享網站建設技術,網站建設教程,真正幫你學會做網站技術,輕松解決網站建設過程中遇到的常見問題,為廣大站長服務。 網站地圖 | 收藏本站 | 訂閱
域名投資,就來找米網,認準網址:www.zhaomi.cc 專業仿站,就到仿站網:www.fangzhan.org
  站內公告: ·帝國cms教程內容已更新,歡迎關注     ·建站技術網采用阿里云服務器,備案已通    
您當前的位置:建站技術網 > 數據庫教程 > Mysql教程

MySQL數據庫基礎知識點總結

時間:2018-02-02 16:13:52  來源:網絡收集  整理: 建站技術網 www.txwlqq.com     點擊:16次

一.一些常用的數據庫dos命令:

SHOW  DATABASES//查看都有哪些數據庫

CREATE  DATABASE 數據庫名//創建數據庫

DROP  DATABASE 數據庫名//刪除數據庫

USE 數據庫名//切換數據庫

數據庫的名稱是不能修改的。(不能直接修改)



SQL查詢語句:

SELECT * FROM lc_course



二.SQL語句分類:

DDL(Data Definition Language)數據定義

CREATE:在數據庫中創建對象

ALTER:修改數據庫表結構

DROP:刪除對象

RENAME:重命名對象

DML(Data Manipulation Language)數據操縱

SELECT:從數據庫中獲取數據

INSERT:向一個表格中插入數據

UPDATE:更新一個表格中的已有數據

DELETE:刪除表格中的數據

DCL(Data Control Language)數據控制

GRANT:賦予一個用戶對數據庫或數據表格等指定權限

REVOKE:刪除一個用戶對數據庫或數據表等的指定權限

TCL(Transaction Control)事務控制

COMMIT:保存數據操作

SAVEPOINT:為方便rollback標記一個事務點

ROLLBACK:從最后一次COMMIT中恢復到提交前狀態


三.數據庫管理:

1.CREATE DATABASE 數據庫名

2.DROP DATABASE 數據庫名

3.RENAME DATABASE 原數據庫名 TO 新數據庫名(只在一個版本中有,后來該命令不能使用,官方并沒有供直接重命名的命令,所以數據庫是不能直接重命名的)

注意:數據表的每一列是一個屬性,每一行是一條記錄。

每一列(屬性)一特定的數據類型保存。

4.mysql中常見的數據類型有:

Integer(size)或Int(size):存儲整數數據

Number(Decimal):存儲實型和整型

Char(size):存儲固定長度字符串

Varchar(size):存儲可變長度字符串

5.創建表格:

CREATE TABLE 表名稱

{

列名稱1 數據類型,

列名稱2 數據類型,

列名稱3 數據類型,

...

};

例如:創建一個表格course保存課程信息,需要保存課程名稱、課程長度、課程講師和課程分類。

CREATE TABLE course{

id int,

course_name varchar(100),

course_length int,

teacher varchar(50),

category varchar(100)

};


6.DESCRIBE course;或者DESC course;查看表

DROP course;刪除表

7.修改表:

重命名表名:

ALTER TABLE course RENAME course1;

向表中添加一列:

ALTER TABLE course ADD link varchar(100);

刪除表中的一列

ALTER TABLE course DROP COLUMN link;

修改一個列的數據類型:

ALTER TABLE course MODIFY teacher varchar(100);

重命名一個列:

ALTER TABLE course CHANGE COLUMN teacher(原名字) lecture(新名字) varchar(100);

8.向表格中插入數據

向表格中插入一條記錄:

INSERT INTO 表名稱 VALUES(值1,值2,...);(表的屬性都需要插入)

INSERT INTO 表名稱(列1,列2) VALUES(值1,值2);(可以只插入部分屬性)

例:INSERT INTO course(1,'install Linux','nash_su','Basic');



9.查詢數據

從表格中查詢一條記錄:

SELECT * FROM course;


SELECT course_name,lecture FROM course;


從表格中按條件查詢一條記錄:

SELECT 列名稱 FROM 表名 WHERE 列 運算符 值;


按名稱:

SELECT * FROM course WHERE course_name='GNOME';

按課程時長:

SELECT * FROM course WHERE course_length>10;


10.刪除一條記錄:

DELETE FROM 表名稱 WHERE 列 運算符 值;

或:

DELETE * FROM 表名稱

例:DELETE FROM course WHERE id=1;


11.更新一條記錄:

UPDATE 表名稱 SET 列名稱=新值 WHERE 列=值;

例:UPDATE course SET lecture=‘Lee’ WHERE id=3;


12.SQL-Distinct

返回結果刪除重復項:

SELECT DISTINCT 列名稱 FROM 表名稱;

例:SELECT DISTINCT lecture FROM course;

13.SQL-AND&OR

WHERE條件中使用邏輯組合:

SELECT * FROM 表名稱 WHERE 條件1 AND 條件2;

SELECT * FROM 表名稱 WHERE 條件1 OR 條件2;


例:SELECT * FROM course WHERE lecture='nash_su' AND category='Adv';

14.SQL-對結果進行排序

對查詢結果按指定列進行排序:

SELECT * FROM 表名稱 ORDER BY 列名稱;

SELECT * FROM 表名稱 ORDER BY 列名稱 DESC;

例:SELECT * FROM course ORDER BY course_length;(從小到大排序)

SELECT * FROM course ORDER BY course_length DESC;(使用倒序進行排序)

四.MySQL用戶

MySQL數據庫默認只有一個root用戶

MySQL將用戶信息保存在mysql數據庫user表中


1.創建一個新的用戶:

CREATE USER 用戶名 IDENTIFIED BY '密碼';

例:CREATE USER nash_su IDENTIFIED BY 'linuxcast.net';

注意:新用戶創建后是不能登錄的,因為沒有設置權限。

2.刪除用戶

DROP USER 用戶名:

例: DROP USER nash_su;

重命名用戶名:

RENAME USER 原用戶名 TO 新用戶名;

3.修改當前用戶密碼:

SET PASSWORD=PASSWORD('新密碼');

修改指定用戶密碼:

SET PASSWORD FOR 用戶名=PASSWORD('新密碼');

五.MySQL權限系統

MySQL權限系統控制一個用戶是否能進行連接,以及連接后能夠針對哪些對象進行什么操作。

MySQL權限控制包含兩個階段:

1.檢查用戶是否能夠連接

2.檢查用戶是否具有所執行動作的權限。

MySQL權限層級:

MySQL授予權限可分為以下幾個層級:

1.全局層級

2.數據庫層級

3.表層級

4.列層級

5.子程序層級



六.MySQL授權命令

1.MySQL通過GRANT授予權限,REVOKE撤銷權限。

授予一個用戶權限:

GRANT ALL PRIVILEGES ON 層級 to 用戶名@主機 IDENTIFIED BY 密碼;

例:授予nash_su用戶全局級全部權限。(*.*前一個*表示所有數據庫,后一個*表示數據庫中的所有表)

GRANT ALL PRIVILEGES ON *.* to 'nash_su'@'%' IDENTIFIED BY 'linuxcast';

授予nash_su用戶針對linuxcast數據庫全部權限。

GRANT ALL PRIVILEGES ON linuxcast.* to 'nash_su'@'%' IDENTIFIED BY 'linuxcast';

2.撤銷一個用戶權限:

REVOKE ALL PRIVILEGES FROM 用戶名;

例:撤銷nash_su用戶的全部權限。

REVOKE ALL PRIVILEGES FROM nash_su;


七.MySQL連接認證

當連接MySQL服務時,MySQL通過用戶名密碼和主機信息驗證是否允許連接。

GRANT ALL PRIVILEGES ON *.* to 'nash_su'@'%' IDENTIFIED BY 'linuxcast';

這里的主機是指允許從哪些主機進行連接,可以使用如下形式:

1.所有主機:'%'


MySQL備份恢復:

MySQL使用最為廣泛的備份恢復工具是mysqldump

備份一個指定數據庫:

mysqldump -u root -p 數據庫名稱 > 備份文件.sql

例:mysqldump -u root -p linuxcast>linuxcast_db.sql

mysqldump備份出來的是純文本的SQL文件,可以修改后作為其他數據庫數據使用。

MySQL備份恢復:

從備份的SQL文件恢復一個指定數據庫:

mysql -u root -p 數據庫名稱 < 備份文件.sql

例:mysql -u root -p linuxcast < linuxcast_db.sql



八.數據庫編碼

數據庫使用一個特定編碼保存數據,如GB2312、UTF-8等不同語言一般使用不同編碼保存。

編碼主要影響兩個方面:

1.數據庫保存相同的內容所占用的空間大小。

2.數據庫與客戶端通信


可以通過SHOW CHARACTER SET;查看MySQL支持的編碼:

MySQL默認使用的編碼:latin1

查看MySQL當前使用的編碼:

SHOW VARIABLES LIKE 'character_set%'

SHOW VARIABLES LIKE 'collation%'

指定數據庫使用的編碼:

創建數據庫的時候可以使用以下命令指定編碼:

CREATE DATABASE linuxcast

DEFAULT CHARACTER SET utf8;

DEFAULT COLLATE utf8_general_cl;

也可以通過以下命令修改一個數據庫的編碼:

ALTER DATABASE linuxcast CHARACTER SET utf8 COLLATE utf8_general_cl;


標簽:
文章標題:MySQL數據庫基礎知識點總結
文章網址:http://www.txwlqq.com/shujuku/Mysql/3842.html
上一篇:MySQL 選擇數據庫
下一篇:MySQL復制數據:用命令行復制表的方法
來頂一下
返回首頁
返回首頁
相關文章
    無相關信息
推薦資訊
如何通過SEO優化排名賺錢?SEO賺錢方法
如何通過SEO優化排名賺
seo優化教程:網站seo內容優化
seo優化教程:網站seo
SEO細節:企業SEO如何快速為新站做出效果
SEO細節:企業SEO如何
電商技術將如何發展?2018年有這五個大膽預測
電商技術將如何發展?
最新文章
欄目更新
欄目熱門
成人黄色