本文目錄一覽:
- 1、mysql的特點是什麼?
- 2、mySQL是什麼類型的數據庫?
- 3、MYSQL的概念
- 4、mysql怎麼創建數據庫
- 5、如何用MySQL命令對數據庫進行導出/導入/技巧
- 6、mysql如何進入數據庫查看所有表
mysql的特點是什麼?
一、MySQL數據庫的特點和優勢:
(1)功能強大
MySQL 中提供了多種數據庫存儲引擎,各引擎各有所長,適用於不同的應用場合,用戶可以選擇最合適的引擎以得到最高性能,可以處理每天訪問量超過數億的高強度的搜索 Web 站點。MySQL5 支持事務、視圖、存儲過程、觸發器等。
(2)支持跨平台
MySQL 支持至少 20 種以上的開發平台,包括 Linux、Windows、FreeBSD 、IBMAIX、AIX、FreeBSD 等。這使得在任何平台下編寫的程序都可以進行移植,而不需要對程序做任何的修改。
(3)運行速度快
高速是 MySQL 的顯著特性。在 MySQL 中,使用了極快的 B 樹磁盤表(MyISAM)和索引壓縮;通過使用優化的單掃描多連接,能夠極快地實現連接;SQL 函數使用高度優化的類庫實現,運行速度極快。
(4)支持面向對象
PHP 支持混合編程方式。編程方式可分為純粹面向對象、純粹面向過程、面句對象與面向過程混合 3 種方式。
(5)安全性高
靈活和安全的權限與密碼系統,允許基本主機的驗證。連接到服務器時,所有的密碼傳輸均採用加密形式,從而保證了密碼的安全。
(6)成本低
MySQL 數據庫開放源代碼且無版權制約,是一種完全免費的產品,用戶可以直接通過網絡下載,自主性及使用成本低。體積小,安裝方便。歷史悠久,用戶使用活躍,遇到問題可以尋求幫助,易於維護。
(7)支持各種開發語言
MySQL 為各種流行的程序設計語言提供支持,為它們提供了很多的 API 函數,包括 PHP、ASP.NET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl 語言等。
(8)數據庫存儲容量大
MySQL 數據庫的最大有效表尺寸通常是由操作系統對文件大小的限制決定的,而不是由 MySQL 內部限制決定的。InnoDB 存儲引擎將 InnoDB 表保存在一個表空間內,該表空間可由數個文件創建,表空間的最大容量為 64TB,可以輕鬆處理擁有上千萬條記錄的大型數據庫。
(9)支持強大的內置函數
PHP 中提供了大量內置函數,幾乎涵蓋了 Web 應用開發中的所有功能。它內置了數據庫連接、文件上傳等功能,MySQL 支持大量的擴展庫,如 MySQLi 等,可以為快速開發 Web 應用提供便利。
二、相比其他數據庫的特點和優勢:
(1) 對事務的提交
MySQL默認是自動提交,不需要在寫commit指令或者點擊commit按鈕。
(2) 分頁查詢
MySQL是直接在SQL語句中寫”select… from …where…limit m, n”,有limit就可以實現分頁。PHP里還可以用SEEK定位到結果集的位置。
(3) 事務隔離級別
MySQL是read commited的隔離級別。
一個session讀取數據時,其他session不能更改數據,但可以在表最後插入數據。session更新數據時,要加上排它鎖,其他session無法訪問數據。
(4) 複製簡單
MySQL複製服務器配置簡單。
(5) 自動增長的數據類型處理
MYSQL有自動增長的數據類型,插入記錄時不用操作此字段,會自動獲得數據值。
(6) 單引號的處理
MYSQL里可以用雙引號包起字符串。
(7) 日期字段的處理
MYSQL日期字段分DATE和TIME兩種。
(8) 空字符的處理
MYSQL的非空字段也有空的內容,NULL或空字符。
mySQL是什麼類型的數據庫?
mysql(發音為”my
ess
cue
el”,不是”my
sequel”)是一種開放源代碼的關係型數據庫管理系統(rdbms),mysql數據庫系統使用最常用的數據庫管理語言–結構化查詢語言(sql)進行數據庫管理。
由於mysql是開放源代碼的,因此任何人都可以在general
public
license的許可下下載並根據個性化的需要對其進行修改。mysql因為其速度、可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,mysql是管理內容最好的選擇。
mysql關係型數據庫於1998年1月發行第一個版本。它使用系統核心提供的多線程機制提供完全的多線程運行模式,提供了面向c、c++、eiffel、java、perl、php、python以及tcl等編程語言的編程接口(apis),支持多種字段類型並且提供了完整的操作符支持查詢中的select和where操作。
mysql開發組計劃於2001年中期公布mysql4.0版本。在這個版本中將有以下新的特性被提供:新的表定義文件格式、高性能的數據複製功能、更加強大的全文搜索功能。在此之後,mysql開發着希望提供安全的數據複製機制、在beos操作系統上的mysql實現以及對延時關鍵字的定期刷新選項。隨着時間的推進,mysql將對ansi
92/ansi
99標準完全兼容。
時至今日
mysql
和
php
的結合絕對是完美.很多大型的網站也用到mysql數據庫.mysql的發展前景是非常光明的!
MYSQL的概念
MySQL是一個關係型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。
MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL 所使用的 SQL 語言是用於訪問數據庫的最常用標準化語言。MySQL 軟件採用了雙授權政策,它分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。由於其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。
mysql怎麼創建數據庫
mysql創建數據庫方法如下
1.創建數據庫。在MySQL命令行中,輸入命令CREATE DATABASE ;。 把命令中的替換為你的數據庫的名稱。其中不能包含空格。 例如,要創建包含所有美國各州的…
2.顯示可用數據庫列表。輸入命令SHOW DATABASES;列出所有已保存的數據庫。除了你所創建的數據庫外,你還將看到一個mysql數據庫和一個test數據庫。當前你可以忽略它們。
3.選擇你的數據庫。創建數據庫後,你需要在對其進行編輯前先選中它。輸入命令USE us_states
如何用MySQL命令對數據庫進行導出/導入/技巧
info:
1.txt
zhangsan wuhan
lishi wuhan
把1.txt文件插入到mysql數據庫中
1.mysql -u root -p 數據庫名 /文件路徑(在bin下就直接加文件名)
2.mysqlimport的語法介紹:
mysqlimport位於mysql/bin目錄中,是mysql的一個載入(或者說導入)數據的一個非常有效的工具。這是一個命令行工具。有兩個參數以及大量的選項可供選擇。這個工具把一個文本文件(text file)導入到你指定的數據庫和表中。比方說我們要從文件Customers.txt中把數據導入到數據庫Meet_A_Geek中的表 Custermers中:
mysqlimport Meet_A_Geek Customers.txt
注意:這裡Customers.txt是我們要導入數據的文本文件,而Meet_A_Geek是我們要操作的數據庫,數據庫中的表名是Customers,這裡文本文件的數據格式必須與Customers表中的記錄格式一致,否則mysqlimport命令將會出錯。
其中表的名字是導入文件的第一個句號(.)前面文件字符串,另外一個例子:
mysqlimport Meet_A_Geek Cus.to.mers.txt
那麼我們將把文件中的內容導入到數據庫Meet_A_Geek 中的Cus表中。上面的例子中,都只用到兩個參數,並沒有用到更多的選項,下面介紹mysqlimport的選項:
選項 功能
-d or –delete 新數據導入數據表中之前刪除數據數據表中的所有信息
-f or –force 不管是否遇到錯誤,mysqlimport將強制繼續插入數據
-i or –ignore mysqlimport跳過或者忽略那些有相同唯一關鍵字的行, 導入文件中的數據將被忽略。
-l or -lock-tables 數據被插入之前鎖住表,這樣就防止了,你在更新數據庫時,用戶的查詢和更新受到影響。
-r or -replace 這個選項與-i選項的作用相反;此選項將替代表中有相同唯一關鍵字的記錄。
–fields-enclosed- by= char 指定文本文件中數據的記錄時以什麼括起的, 很多情況下數據以雙引號括起。 默認的情況下數據是沒有被字符括起的。
–fields-terminated- by=char 指定各個數據的值之間的分隔符,在句號分隔的文件中,分隔符是句號。您可以用此選項指定數據之間的分隔符。默認的分隔符是跳格符(Tab)
–lines-terminated- by=str 此選項指定文本文件中行與行之間數據的分隔字符串或者字符。 默認的情況下mysqlimport以newline為行分隔符。您可以選擇用一個字符串來替代一個單個的字符:一個新行或者一個回車。
mysqlimport命令常用的選項還有-v 顯示版本(version), -p 提示輸入密碼(password)等。
例子:導入一個以逗號為分隔符的文件文件中行的記錄格式是這樣的:
“1”, “ORD89876”, “1 Dozen Roses”, “19991226”
我們的任務是要把這個文件裏面的數據導入到數據庫Meet_A_Geek中的表格Orders中,我們使用這個命令:
bin/mysqlimport –prl –fields-enclosed-by=” –fields-terminated-by=, Meet_A_Geek Orders.txt
3.mysql數據庫常用導出導入命令的幾個用例
================================
幾個常用用例:
1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 導出的文件名
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.導入數據庫
常用source 命令
進入mysql數據庫控制台,
如mysql -u root -p
mysqluse 數據庫
然後使用source命令,後面參數為腳本文件(如這裡用到的.sql)
mysqlsource d:\wcnc_db.sql
4.可參看 MySQL數據的導出和導入工具:mysqldump
====================================
批處理是一種非交互式運行mysql程序的方法,如同您在mysql中使用的命令一樣,你仍然將使用這些命令。為了實現批處理,您重定向一個文件到 mysql程序中,首先我們需要一個文本文件,這個文本文件包含有與我們在mysql中輸入的命令相同的文本。比如我們要插入一些數據,使用包含下面文本的文件(文件名為New_Data.sql,當然我們也可以取名為New_Data.txt及任何其他的合法名字,並不一定要以後綴sql結尾):
USE Meet_A_Geek;
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Block”);
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Newton”);
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Simmons”);
注意上面的這些句子的語法都必須是正確的,並且每個句子以分號結束。上面的USE命令選擇數據庫,INSERT命令插入數據。
下面我們要把上面的文件導入到數據庫中,導入之前要確認數據庫已經在運行,即是mysqld進程(或者說服務,Windows NT下面稱為」服務「,unix下面為」進程「)已經在運行。然後運行下面的命令:
bin/mysql –p /home/mark/New_Data.sql
接着按提示輸入密碼,如果上面的文件中的語句沒有錯誤,那麼這些數據就被導入到了數據庫中。
命令行中使用LOAD DATA INFILE 從文件中導入數據到數據庫:
現在您可能會問自己,”究竟為什麼我要輸入所有的這些SQL語句到文件中,然後通過程序運行它們呢?」這樣看起來好像需要大量的工作。很好,你這樣想很可能就對了。但是假如你有從所有這些命令中產生的log記錄呢?現在這樣就很棒,嗯,大多數數據庫都會自動產生數據庫中的事件記錄的log。而大部分log 都包含有用過的原始的SQL命令。因此,如果您不能從您現在的數據庫中導出數據到新的mysql數據庫中使用,那麼您可以使用log和mysql的批處理特性,來快速且方便地導入您地數據。當然,這樣就省去了打字的麻煩。
LOAD DATA INFILE
這是我們要介紹的最後一個導入數據到MySQL數據庫中的方法。這個命令與mysqlimport非常相似,但這個方法可以在mysql命令行中使用。也就是說您可以在所有使用API的程序中使用這個命令。使用這種方法,您就可以在應用程序中導入您想要導入的數據。
使用這個命令之前,mysqld進程(服務)必須已經在運行。啟動mysql命令行:
bin/mysql –p
按提示輸入密碼,成功進入mysql命令行之後,輸入下面的命令:
USE Meet_A_Geek;
LOAD DATA INFILE “/home/mark/data.sql” INTO TABLE Orders;
簡單的講,這樣將會把文件data.sql中的內容導入到表Orders中,如mysqlimport工具一樣,這個命令也有一些可以選擇的參數。比如您需要把自己的電腦上的數據導入到遠程的數據庫服務器中,您可以使用下面的命令:
LOAD DATA LOCAL INFILE “C:\MyDocs\SQL.txt” INTO TABLE Orders;
上面的LOCAL參數表示文件是本地的文件,服務器是您所登陸的服務器。這樣就省去了使用ftp來上傳文件到服務器,MySQL替你完成了.
您也可以設置插入語句的優先級,如果您要把它標記為低優先級(LOW_PRIORITY),那麼MySQL將會等到沒有其他人讀這個表的時候,才把插入數據。可以使用如下的命令:
LOAD DATA LOW_PRIORITY INFILE “/home/mark/data.sql” INTO TABLE Orders;
您也可以指定是否在插入數據的時候,取代或者忽略文件與數據表中重複的鍵值。替代重複的鍵值的語法:
LOAD DATA LOW_PRIORITY INFILE “/home/mark/data.sql” REPLACE INTO TABLE Orders;
上面的句子看起來有點笨拙,但卻把關鍵字放在了讓您的剖析器可以理解的地方。
下面的一對選項描述了文件的記錄格式,這些選項也是在mysqlimport工具中可以用的。他們在這裡看起來有點不同。首先,要用到FIELDS關鍵字,如果用到這個關鍵字,MySQL剖析器希望看到至少有下面的一個選項:
TERMINATED BY character
ENCLOSED BY character
ESCAPED BY character
這些關鍵字與它們的參數跟mysqlimport中的用法是一樣的. The
TERMINATED BY 描述字段的分隔符,默認情況下是tab字符(\t)
ENCLOSED BY描述的是字段的括起字符。比方以引號括起每一個字段。
ESCAPED BY 描述的轉義字符。默認的是反些杠(backslash:\ ).
下面仍然使用前面的mysqlimport命令的例子,用LOAD DATA INFILE語句把同樣的文件導入到數據庫中:
LOAD DATA INFILE “/home/mark/Orders.txt” REPLACE INTO TABLE Orders FIELDS TERMINATED BY ‘,’
ENCLOSED BY ‘”‘;
LOAD DATA INFILE語句中有一個mysqlimport工具中沒有特點:LOAD DATA INFILE 可以按指定的列把文件導入到數據庫中。
當我們要把數據的一部分內容導入的時候,這個特點就很重要。比方說,我們要從Access數據庫升級到MySQL數據庫的時候,需要加入一些欄目(列/字段 /field)到MySQL數據庫中,以適應一些額外的需要。這個時候,我們的Access數據庫中的數據仍然是可用的,但是因為這些數據的欄目 (field)與MySQL中的不再匹配,因此而無法再使用mysqlimport工具。儘管如此,我們仍然可以使用LOAD DATA INFILE,下面的例子顯示了如何向指定的欄目(field)中導入數據:
LOAD DATA INFILE “/home/Order.txt” INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);
如您所見,我們可以指定需要的欄目(fields)。這些指定的字段依然是以括號括起,由逗號分隔的,如果您遺漏了其中任何一個,MySQL將會提醒您^_^ 。
mysql如何進入數據庫查看所有表
1.查看數據庫,選中使用數據庫,並查看數據庫表,具體操作命令如下:
show databases;
use student;
show tables;
2.選擇student數據庫中的一張表stu_score,查看數據庫表數據,並利用explain分析數據庫表,如下圖所示:
select * from stu_score;
explain select * from stu_score;
3.查看數據庫使用索引的情況,使用命令:
show status like ‘Handler_read%’;
4.用於分析和存儲表的關鍵字,分析的結果可以得到精準的信息,利用命令analyze,
analyze table stu_score;
5.檢查數據庫表stu_score,檢查表是否有錯誤,利用命令:
check table stu_score;
6.優化數據庫表,利用命令:
optimize table stu_score;
擴展資料:
可以使用命令行工具管理 MySQL 數據庫(命令 mysql 和 mysqladmin),也可以從 MySQL 的網站下載圖形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。
phpMyAdmin是由 php 寫成的 MySQ L資料庫系統管理程程序,讓管理者可用 Web 界面管理 MySQL 資料庫。
phpMyBackupPro也是由 PHP 寫成的,可以透過 Web 界面創建和管理數據庫。它可以創建偽 cronjobs,可以用來自動在某個時間或周期備份 MySQL 數據庫。
另外,還有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/287445.html