本文是學習mysql資料庫的基礎入門知識,包括常用的操作命令,學習mysql資料庫這些知識點是必須要掌握的,收藏下來有備無患,首先開始接受啟動MySQL服務,然後串連MySQL資料庫有兩種方式方式1:進入MySQL命令列, 在命令列中輸入密碼; 方式2:在運行視窗中;下文有詳細講解。
如何啟動MySQL服務?
對於如何啟動MySQL服務?除了可以在安裝的時候勾選隨著開機自啟動,還可以在運行
視窗(windows)為例子,輸入以下內容:
net start 命令名字:開啟一個服務,如:net start MySQL
net stop 命令名字:關閉一個伺服器,如:net stop MySQL
串連MySQL資料庫有兩種方式:
方式1:進入MySQL命令列, 在命令列中輸入密碼;
方式2:在運行視窗中:
格式:mysql -u賬戶 -p密碼 -h資料庫伺服器安裝的主機的ip(如果是本機可以使用localhost) -P資料庫連接埠
mysql -uroot -padmin -h127.0.0.1 -P3306
上面假設我的帳號是root 密碼是admin
若串連的資料庫伺服器在本機上,並且連接埠是3306。
則可以簡寫: mysql -uroot -padmin
Navicat for MySQL
Navicat for MySQL[1] 其實就是MySQL 的視覺化檢視,是一款強大的 MySQL 資料庫管理和開發工具,它為專業開發人員提供了一套強大的足夠尖端的工具,但對於新使用者仍然易於學習。Navicat for MySQL 基於Windows平台,為 MySQL 量身訂作,提供類似於 MySQL 的用管理介面工具。此解決方案的出現,將解放 PHP、J2EE 等程式員以及資料庫設計者、管理者的大腦,降低開發成本,為使用者帶來更高的開發效率。
資料庫操作和儲存引擎
資料庫物件:儲存,管理和使用資料的不同結構形式,如:表、視圖、預存程序、函數、觸發器、事件、索引等。
資料庫:儲存資料庫物件的容器。
資料庫分兩種:
1):系統資料庫(系統內建的資料庫):不能修改
information_schema:儲存資料庫物件資訊,如:使用者表資訊,列資訊,許可權,字元,分區等資訊。
performance_schema:儲存資料庫伺服器績效參數資訊。
mysql:儲存資料庫使用者權限資訊。
test:任何使用者都可以使用的測試資料庫。
2):使用者資料庫(使用者自訂的資料庫):一般的,一個項目一個使用者資料庫。
常用的操作命令:
查看資料庫伺服器存在哪些資料庫:
SHOW DATABASES;
使用指定的資料庫:
USE database_name;
查看指定的資料庫中有哪些資料表:
SHOW TABLES;
建立指定名稱的資料庫:
CREATE DATABASE database_name;
刪除資料庫:
DROP DATABASE database_name;
注意:;是必須的,不然不會正確顯示
MySQL的儲存引擎
MySQL中的資料用各種不同的技術儲存在檔案(或者記憶體)中。這些技術中的每一種技術都使用不同的儲存機制、索引技巧、鎖定水平並且最終提供不同的功能和能力。
通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。
MyISAM:擁有較高的插入,查詢速度,但不支援事務,不支援外鍵。
InnoDB:支援事務,支援外鍵,支援行級鎖定,效能較低。
InnoDB 儲存引擎提供了具有提交、復原和崩潰恢複能力的事務安全。但對比MyISAM,處理效率差,且會佔用更多的磁碟空間以保留資料和索引。
MySQL常用列類型
最常用的整數類型:
MySQL列類型 Java資料類型
INT/INTEGER: int/Integer
BIGINT: long/Long
MySQL 以一個可選的顯示寬度指標的形式對 SQL 標準進行擴充,這樣當從資料庫檢索一個值時,可以把這個值加長到指定的長度。
例如,指定一個欄位的類型為 INT(6),就可以保證所包含數字少於 6 個的值從資料庫中檢索出來時能夠自動地用空格填充。
需要注意的是,使用一個寬度指標不會影響欄位的大小和它可以儲存的值的範圍。一般不用指定位寬。
age int(2),並不是代表age最多儲存99,而是指查詢age值得時候使用兩個0來佔位.
FLOAT[(s,p)] :
DOUBLE[(s,p)] : 小數類型,可存放實型和整型 ,精度(p)和範圍(s)
money double(5,2): 整數和小數一共佔5位.其中小數佔2位,最大值:999.99,最小-999.99.
都不夠精確。
定點資料類型: DECIMAL,高精度類型,金額貨幣優先選擇。
MySQL列類型 Java資料類型
FLOAT float/Float
DOUBLE double/Double
DECIMAL BigDecimal
char(size) 定長字元,0 - 255位元組,size指N個字元數,若插入字元數超過設定長度,會被截取並警告。
varchar(size) 變長字元,0 - 255位元組,從MySQL5開始支援65535個位元組,若插入字元數超過設定長度,會被截取並警告。
一般儲存大量的字串,比如文章的純文字,可以選用TEXT系列類型。
注意:在MySQL中,字元使用單引號引起來。 相當於Java中字串(String,StringBuilder/StringBuffer);
日期和時間類型為DATETIME、DATE、TIMESTAMP、TIME和YEAR。
注意:在MySQL中,日期時間值使用單引號引起來。 相當於Java中Date,Calender。
BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB:
存放圖形、聲音和影像,二進位對象,0-4GB。
但是,在開發中,我們一般儲存二進位檔案儲存路徑的路徑儲存在資料庫中。
BIT:我們一般儲存0或1,儲存是Java中的boolean/Boolean類型的值。
表的操作
1.先進入某一個資料庫.(使用USE database_name;命令)
2.輸入建表的命令:
CREATE TABLE 表名(
列名1 列的類型 [約束],
列名2 列的類型 [約束],
….
列名N 列的類型 約束
);
注意:最後一行沒有逗號
若在建表中使用到了資料庫的關鍵字.
比如建立一張訂單表:(order),但是order是資料庫中的關鍵字(排序使用).
表名:t_order,若費用使用order這個單詞.此時使用反引號()括起來,
order`.
一般,起表名為:t_名字。
例子:建立一張表
建立一張學生資訊表,記錄學生的id,name,age.CREATE TABLE `t_student`( `id ` bigint, `name ` varchar(20), ` age ` int);
查看錶結構:
DESC table_name;
查看錶的詳細定義(顯示表的定義SQL語句):
SHOW CREATE TABLE table_name;
刪除表:
DROP TABLE table_name;
表的約束(針對於某一列):
1.非空約束:NOT NULL,不允許某列的內容為空白。
2.設定列的預設值:DEFAULT。
3.唯一約束:UNIQUE,在該表中,該列的內容必須唯一。
4.主鍵約束:PRIMARY KEY, 非空且唯一。
5.主鍵自增長:AUTO_INCREMENT,從1開始,步長為1。
6.外鍵約束:FOREIGN KEY,A表中的外鍵列. A表中的外鍵列的值必須參照於B表中的某一列(B表主鍵)。
主鍵設計,唯一標識某一行資料的:
1:單欄位主鍵,單列作為主鍵,建議使用。
複合主鍵,使用多列充當主鍵,不建議。
2:主鍵分為兩種:
1).自然主鍵:使用有業務含義的列作為主鍵(不推薦使用),比如社會安全號碼碼;
2).代理主鍵:使用沒有業務含義的列作為主鍵(推薦使用);
相關文章:
mysql 基礎命令入門學習_MySQL
mysql資料庫學習筆記之常用操作命令_MySQL
相關視頻:
資料庫mysql視頻教程