重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
1、《MySQL技術內幕:InnoDB存儲引擎》
專注于為中小企業提供做網站、網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業察哈爾右翼后免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上千企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
《MySQL技術內幕:InnoDB存儲引擎》的作者是姜承堯。本書從源代碼的角度深度解析了InnoDB
的體系結構、實現原理、工作機制,并給出了大量最佳實踐。
2、《MySQL完全手冊》
《MySQL完全手冊》詳細介紹了如何使用可定制的MySQL數據庫管理系統支持健壯的、可靠的、任
務關鍵的應用程序。
3、《深入淺出mysql》
《深入淺出mysql》從數據庫的基礎、開發、優化、管理維護4個方面對MySQL進行了詳細的介紹,
其中每一部分都獨立成篇。
基礎篇主要適合于MySQL的初學者,內容包括MySQL的安裝與配置、SQL基礎、MySQL支持的數
據類型、MySQL中的運算符、常用函數、圖形化工具的使用等。
4、《 數據庫索引設計與優化》
本文以MySQL數據庫為研究對象,討論與數據庫索引相關的一些話題。特別需要說明的是,MySQL
支持諸多存儲引擎,而各種存儲引擎對索引的支持也各不相同。
5、《高性能MySQL》
《高性能MySQL》是分享MySQL實用經驗的圖書。它不但可以幫助MySQL初學者提高使用技巧,
更為有經驗的MySQL DBA指出了開發高性能MySQL應用的途徑。
擴展資料:
《MySQL技術內幕:InnoDB存儲引擎》是國內目前唯一的一本關于InnoDB的著作,由資深MySQL
專家親自執筆,中外數據庫專家聯袂推薦,權威性毋庸置疑。
它能為讀者設計和管理高性能、高可用的數據庫系統提供絕佳的指導。注重實戰,全書輔有大量的
案例,可操作性極強。全書首先全景式地介紹了MySQL獨有的插件式存儲引擎,分析了MySQL的各
種存儲引擎的優勢和應用環境。
參考資料:百度百科——MySQL技術內幕:InnoDB存儲引擎
請根據自己操作了些什么?以及錯誤提示進行解決。這樣可以縮小出錯范圍,提高查錯速度。
比如說你進行連接操作,然后系統提示錯誤,那么通常你就要從連接方式上進行查錯,如密碼錯誤、連接參數不對等。如果系統提示語法錯誤,那通常你要看一看你的sql語句編寫是否正確、函數的用法對不對等等。如果是系統方面的錯誤提示,你就要檢查一下你的MySQL系統安裝以及系統設置方面的問題。
由于MySQL都是以英文顯示錯誤提示的,解決報錯問題除了需要具備一定程度的數據庫方面知識外,還要略懂英文,否則無從下手。
數據庫的種種知識非常豐富繁雜,沒人能全部記下來,下載一個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’;