本文目錄一覽:
- 1、該怎麼學習MySQL數據庫,從基礎學起的哪種?
- 2、北大青鳥設計培訓:零基礎如何mysql學習?
- 3、mysql 常用命令手冊
- 4、mysql使用教程?
- 5、sql數據庫基礎知識
- 6、數據庫(mysql)關鍵知識
該怎麼學習MySQL數據庫,從基礎學起的哪種?
如果你沒有 MySQL 的基礎,建議可以看看以下書籍:
《MySQL 必知必會》:主要講 SQL 的寫法
《深入淺出 MySQL》:比較全面的講解了 MySQL 的基礎知識,也涉及了一些優化。
如果已經對 MySQL 比較熟悉了,可以看下面的書籍:
《高性能 MySQL》:裏面講了很多 MySQL 優化技巧。
《MySQL 技術內幕》:講解了很多 MySQL 原理,強力推薦給想深入學習 MySQL 的同學。
《MySQL 內核:InnoDB 存儲引擎》:想深入研究 MySQL 內核及原理的可以看看。
《MySQL 運維內參》:對 MySQL 源碼感興趣,可以入手。
《MySQL Internals Manual》
《MySQL 5.7 Reference Manual》
北大青鳥設計培訓:零基礎如何mysql學習?
最近,有很多學員留言讓我整理一下「零基礎如何mysql學習?」.今天武漢電腦培訓就整理一下學習MySQL你需要掌握的知識點以及送給新手學習的建議,希望對大家能夠有所幫助!給新手的學習建議:1.在學習新的東西的時候,我們至少從三個問題開始。
What?why?how?2.學習需要堅持,如果還沒準備好堅持半年比較枯燥的MySQL之旅,那麼就別開始。
3.學習東西不在多,在精,市面上有非常多的MySQL教程,不要瞎學,今天這裡學一點,明天那裡學一點,這樣你學的都只是知識點,無法形成一個知識面,知識網絡。
4.在學習過程中充滿好奇,使用google進行問題搜索,千萬不要使用度娘了,質量不高。
至於怎麼用Google,請自行搜索。
5.學習的目的在於使用,因此,不要僅僅看書,看一遍,看兩遍,你可能還是沒什麼感覺。
因此學習一開始,就要動手練習,把資料上的情況,模擬一下。
6.請不要在windows上安裝mysql進行學習,因為工作中都是linux系統。
我們需要從一開始就是實戰,就是生產環境。
7.保持好心態,一步一個腳印的前進。
學習MySQL你需要掌握的知識點:1.系統,當然windos基本的要會。
然後就是Linux系統,現在做MySQLDBA的系統多數都是Linux系統,而生產環境大多又是RedHat,Centos。
其他的Linux和Unix系統可以只做了解。
2.Linux基礎,網絡,IO,內存,磁盤,CPU。
包括不限於安裝,啟動過程,目錄結構,遠程登錄,文件屬性與管理,用戶與用戶權限,LAMP結構vim,yum等shell命令,dns,ftp,以及一些常用工具。
3.MySQL基礎:MySQL安裝、MySQL體系結構,SQL,MySQL管理維護。
4.數據備份與恢復,常用的引擎:MyISAM、Innodb、NDB等。
5.數據庫設計優化,一個好的MySQL系統,往往從設計開始。
6.SQL優化,參數優化,監控,安全等。
7.MySQL負載均衡,讀寫分離,MHA,MMM高可用架構,以及分佈式架構:mycat、maxscale、galeracluster、MySQLGroupReplication等。
8.mysql5.6,mysql5.7新特性,mariadb、percona分支的差異和特點。
9.MySQLJSON、MySQLmemcached。
10.常見MySQL搭配的緩存系統,redis,memcached,以及NOSQL、NEWSQL。
以上,就是小編為大家整理的mysql學習你需要掌握的知識點以及送給新手學習的建議,希望能夠幫助到大家!
mysql 常用命令手冊
之前介紹了一系列的mysql基礎知識,今天我們將MySQL常用的功能命令整理出來,供大家參考使用!
1.導出整個數據庫
mysqldump -u 用戶名 -p –default-character-set=latin1 數據庫名 導出的文件名(數據庫默認編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users wcnc_users.sql
3.導出一個數據庫結構
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc d:wcnc_db.sql
-d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table
4.導入數據庫
A:常用source 命令
進入mysql數據庫控制台,
如mysql -u root -p
mysqluse 數據庫
然後使用source命令,後面參數為腳本文件(如這裡用到的.sql)
mysqlsource wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname filename.sql
C:使用mysql命令
mysql -u username -p -D dbname filename.sql
啟動與退出
1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS界面),直接輸入安裝時的密碼即可。此時的提示符是:mysql
2、退出MySQL:quit或exit
庫操作
1、創建數據庫
命令:create database 數據庫名
例如:建立一個名為sqlroad的數據庫
mysql create database sqlroad;
2、顯示所有的數據庫
命令:show databases (注意:最後有個s)
mysql show databases;
3、刪除數據庫
命令:drop database 數據庫名
例如:刪除名為 sqlroad的數據庫
mysql drop database sqlroad;
4、連接數據庫
命令:use 數據庫名
例如:如果sqlroad數據庫存在,嘗試存取它:
mysql use sqlroad;
屏幕提示:Database changed
5、查看當前使用的數據庫
mysql select database();
6、當前數據庫包含的表信息:
mysql show tables; (注意:最後有個s)
表操作,操作之前應連接某個數據庫
1、建表
命令:create table 表名 ( 字段名 類型 [,..字段名n 類型n]);
mysql create table MyClass(
id int(4) not null primary key auto_increment,
name char(20) not null,
sex int(4) not null default 』′,
degree double(16,2));
2、獲取表結構
命令:desc 表名,或者show columns from 表名
mysqlDESCRIBE MyClass
mysql desc MyClass;
mysql show columns from MyClass;
3、刪除表
命令:drop table 表名
例如:刪除表名為 MyClass 的表
mysql drop table MyClass;
4、插入數據
命令:insert into 表名 [( 字段名[,..字段名n ])] values ( 值 )[, ( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為的名為Tom的成績為.45, 編號為 的名為Joan 的成績為.99,編號為 的名為Wang 的成績為.5.
mysql insert into MyClass values(1,』Tom』,96.45),(2,』Joan』,82.99), (2,』Wang』, 96.59);
5、查詢表中的數據
11)、查詢所有行
命令:select 字段,字段,… from 表名 where 表達式
例如:查看錶 MyClass 中所有數據
mysql select * from MyClass;
12)、查詢前幾行數據
例如:查看錶 MyClass 中前行數據
mysql select * from MyClass order by id limit 0,2;
或者:
mysql select * from MyClass limit 0,2;
6、刪除表中數據
命令:delete from 表名 where 表達式
例如:刪除表 MyClass中編號為 的記錄
mysql delete from MyClass where id=1;
7、修改表中數據:
update 表名 set 字段=新值,…where 條件
mysql update MyClass set name=』Mary』where id=1;
8、在表中增加字段:
1命令:alter table 表名 add字段 類型 其他;
3例如:在表MyClass中添加了一個字段passtest,類型為int(4),默認值為
5mysql alter table MyClass add passtest int(4) default 』′
9、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql rename table MyClass to YouClass;
更新字段內容
update 表名 set 字段名 = 新內容
update 表名 set 字段名 = replace(字段名,』舊內容』, 新內容』)
update article set content=concat(『』,content);
字段類型和數據庫操作
1.INT[(M)] 型:正常大小整數類型
2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點數字類型
3.DATE 日期類型:支持的範圍是-01-01到-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字符串或數字把值賦給DATE列
4.CHAR(M) 型:定長字符串類型,當存儲時,總是是用空格填滿右邊到指定的長度
5.BLOB TEXT類型,最大長度為(2^16-1)個字符。
6.VARCHAR型:變長字符串類型
7.導入數據庫表
創建.sql文件
先產生一個庫如auction.c:mysqlbinmysqladmin -u root -p creat auction,會提示輸入密碼,然後成功創建。
導入auction.sql文件
c:mysqlbinmysql -u root -p auction auction.sql。
通過以上操作,就可以創建了一個數據庫auction以及其中的一個表auction。
8.修改數據庫
在mysql的表中增加字段:
alter table dbname add column userid int(11) not null primary key auto_increment;
這樣,就在表dbname中添加了一個字段userid,類型為int(11)。
9.mysql數據庫的授權
mysqlgrant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to 用戶名@localhost
identified by 『密碼』;
如:新建一個用戶帳號以便可以訪問數據庫,需要進行如下操作:
mysql grant usage
– ON test.*
– TO testuser@localhost;
Query OK, 0 rows affected (0.15 sec)
此後就創建了一個新用戶叫:testuser,這個用戶只能從localhost連接到數據庫並可以連接到test 數據庫。下一步,我們必須指定testuser這個用戶可以執行哪些操作:
mysql GRANT select, insert, delete,update
– ON test.*
– TO testuser@localhost;
Query OK, 0 rows affected (0.00 sec)
此操作使testuser能夠在每一個test數據庫中的表執行SELECT,INSERT和DELETE以及UPDATE查詢操作。現在我們結束操作並退出MySQL客戶程序:
mysql exit
DDL操作
1:使用SHOW語句找出在服務器上當前存在什麼數據庫:
mysql SHOW DATABASES;
2、創建一個數據庫MYSQLDATA
mysql Create DATABASE MYSQLDATA;
3:選擇你所創建的數據庫
mysql USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)
4:查看現在的數據庫中存在什麼表
mysql SHOW TABLES;
5:創建一個數據庫表
mysql Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:顯示錶的結構:
mysql DESCRIBE MYTABLE;
7:往表中加入記錄
mysql insert into MYTABLE values (「hyq」,」M」);
8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt)
mysql LOAD DATA LOCAL INFILE 「D:/mysql.txt」INTO TABLE MYTABLE;
9:導入.sql文件命令(例如D:/mysql.sql)
mysqluse database;
mysqlsource d:/mysql.sql;
10:刪除表
mysqldrop TABLE MYTABLE;
11:清空表
mysqldelete from MYTABLE;
12:更新表中數據
mysqlupdate MYTABLE set sex=」f」where name=』hyq』;
mysql使用教程?
MySQL數據庫使用教程介紹
完整 MySQL 操作詳見:[MySQL攻略]MySQL數據庫使用教程介紹
什麼叫MySQL數據庫?
數據庫(Database)是依照算法設計來機構、儲存和管理數據信息的倉庫。每一個數據庫都具有一個或多個API用以創建,訪問,管理,檢索和拷貝存儲的數據信息。
如今大家用的大多數是關係型數據庫管理系統(RDBMS)來儲存和管理大量數據。所謂關係型數據庫,就是以關係模型為基礎的數據庫,憑藉結合集合代數等數學概念來對數據庫中的數據進行處理。
MySQL是時下最熱門的關係型數據庫管理系統之一,本教程將會講解MySQL的基礎知識,並幫助大家熟練應用MySQL數據庫。
MySQL教程-RDBMS專業術語
在開始學習MySQL數據庫前,使我們先掌握下RDBMS的一些專業術語:
數據庫:數據庫是一些關係表的結合。
數據表:數據的矩陣。在一個數據庫中的表看上去像一個簡易的excel表。
列:一列(數據元素)包括了同類型的數據。
行:一行(元組/紀錄)是一組有關的數據。
冗餘:儲存二倍數據,性能會有所損失,但信息安全性有所提高。
主鍵:主鍵是唯一的。一個數據表中只有包含一個主鍵。
外鍵:用於關聯兩個表。
索引:用數據庫索引可快速訪問數據表中的特定信息。索引是對數據庫表格中一列或多列的值作排列的一種構造方式。類似書本的目錄。
MySQL教程-基礎操作
進到數據庫:mysql -uroot -p,登陸密碼立即回車鍵
退出數據庫:quit或是exit
查詢版本號:select version();
獲取當前時間:select now();
sql數據庫基礎知識
sql數據庫基礎知識:
一、SQL 概述
1、什麼是 SQL
SQL(Structured Query Language)是「結構化查詢語言」,它是對關係型數據庫的操作語言。它可以應用到所有關係型數據庫中,例如:MySQL、Oracle、SQL Server 等。SQL 標準(ANSI/ISO)有:SQL-92:1992 年發佈的 SQL 語言准;SQL:1999:1999 年發佈的 SQL 語言標籤;SQL:2003:2003 年發佈的 SQL 語言標籤;這些標準就與 JDK 的版本一樣,在新的版本中總要有一些語法的變化。不同時期的數據庫對不同標準做了實現。
雖然 SQL 可以用在所有關係型數據庫中,但很多數據庫還都有標準之後的一些語法,我們可以稱之為「方言」。例如 MySQL 中的 LIMIT 語句就是 MySQL 獨有的方言,其它數據庫都不支持!當然,Oracle 或 SQL Server 都有自己的方言。
數據庫(mysql)關鍵知識
Mysql是目前互聯網使用最廣的關係數據庫,關係數據庫的本質是將問題分解為多個分類然後通過關係來查詢。 一個經典的問題是用戶借書,三張表,一個用戶,一個書,一個借書的關係表。當需要查詢某個用戶借書情況或者是書被那些人借了,就用關係查詢來實現。
關係數據庫範式
來自英文Normal form,簡稱NF。要想設計—個好的關係,必須使關係滿足一定的約束條件,滿足這些規範的數據庫是簡潔的、結構明晰的,同時,不會發生插入(insert)、刪除(delete)和更新(update)操作異常。總共有六種範式:第一範式(1NF)、第二範式(2NF)、 第三範式 (3NF)、巴斯-科德範式(BCNF)、 第四範式 (4NF)和 第五範式 (5NF,又稱完美範式)。
1NF是指數據庫表的每一列都是不可分割的原子數據項。2NF必須滿足1NF,要求數據庫表中的每行記錄必須可以被唯一地區分。3NF在2NF基礎上,任何非主 屬性 不依賴於其它非主屬性(在2NF基礎上消除傳遞依賴)。BCNF是在3NF基礎上,任何非主屬性不能對主鍵子集依賴(在3NF基礎上消除對主碼子集的依賴), 滿足BCNF不再會有任何由於函數依賴導致的異常,但是我們還可能會遇到由於多值依賴導致的異常。4NF的定義很簡單:已經是BC範式,並且不包含多值依賴關係。5NF處理的是無損連接問題,這個範式基本沒有實際意義,因為無損連接很少出現,而且難以察覺。而域鍵範式試圖定義一個終極範式,該範式考慮所有的依賴和約束類型,但是實用價值也是最小的,只存在理論研究中。
Catalog和Schema
是數據庫對象命名空間中的層次,主要用來解決命名衝突的問題。從概念上說,一個數據庫系統包含多個Catalog,每個Catalog又包含多個Schema,而每個Schema又包含多個數據庫對象(表、視圖、字段等)。但是Mysql的數據庫名就是Schema,不支持Catalog。
Mysql的數據庫引擎主要有兩種MyISAM和InnoDB,MyISAM支持全文檢索,InnoDB支持事務。
SQL中的通配符『%』代表任意字符出現任意次數。『_』代表任意字符出現一次。SQL與正則表達式結合查詢一般用在WHERE table_name REGEXP ‘^12.34’。子查詢是從裡到外執行。
數據庫聯結(join)涉及到外鍵,外鍵是指一個表的列是另一個表的主鍵,那麼它就是外鍵。笛卡爾積聯結(不指定聯結條件時)生成的記錄條目是單純的第一個表的行乘以第二個表的列數。用得最多的是等值聯結也叫內部聯結。
高級聯結還有自連接,是指查詢中的兩張表是同一張表,它通常作為外部語句用來代替從相同表中檢索數據時使用的子查詢。自然聯結使每個列只返回一次。外部聯結是指聯結包含了那些在相關表中沒有關聯行的行。例如列出所有產品及其訂購數量,包括沒有人訂購的產品。LEFT OUTER JOIN指選擇左邊表的所有行。
組合查詢是指採用UNION等將兩個查詢結果取並集。
視圖是查看存儲在別處的數據的一種工具,它本身並不包含數據,因此表的數據修改了,視圖返回的數據也將隨之修改,因此如果使用了複雜或嵌套視圖會對性能有較大的影響。視圖的作用之一是隱藏複雜的SQL通常會涉及到聯結查詢。
存儲過程類似於批處理,包含了一條或多條SQL語句。語法:
CREATE PROCEDURE name()
BEGIN
SQL
END
————————-
CALL name()//來調用存儲過程
游標有DECLARE定義,游標與存儲過程是綁定的,存儲過程處理完成,游標就會消失。游標被打開後可以使用FETCH語句訪問每一行。
觸發器是在某個時間發生時自動執行某條SQL語句。語法:
CREATE TRIGGER name AFTER INSERT ON talbe_name FOR EACH ROW
事務處理可以維護數據庫的完整性,保證批量的操作要麼完全執行,要麼完全不執行。包括事務、回退、提交、保留點幾個關鍵術語。ROLLBACK只能在一個事務處理內使用。他不能回退CREATE和DROP操作。使用COMMIT保證事務提交。複雜的事務處理需要部分提交或回退,因此我們需要使用保留點SAVEPOINT。可以使用ROLLBACK TO savepoint_name。保留點越多越好。保留點在事務執行完成後自動釋放。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/152298.html