MySQL這樣學才叫了解!【1】
一、SQL介紹
1.1、SQL概述
人和人交流需要語言,人和數據庫交流也需要語言,而這個專門特定為程序員和數據庫打交道的語言就是 SQL 語言。
SQL:結構化查詢語言(Structured Query Language)。是關系型數據庫標準語言。 特點:簡單,靈活,功能強大。
1.2、SQL包含的6個部分
1.2.1、數據查詢語言(DQL)
其語句,也稱為“數據檢索語句”,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字 SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些 DQL 保留字常與其他類型的SQL語句一起使用。
1.2.2、數據操作語言(DML)
其語句包括動詞 INSERT,UPDATE和DELETE。它們分別用于添加,修改和刪除表中的行。也稱為動作語言。
1.2.3、數據定義語言(DDL)
其語句包括動詞 CREATE 和 DROP。在數據庫中創建新表或刪除表(CREAT TABLE 或DROP TABLE);為表加入索引等。DDL包括許多與人數據庫目錄中獲得數據有關的保留字。它也是動作查詢的一部分。
1.2.4、事務處理語言(TPL)
它的語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
1.2.5、數據控制語言(DCL)
它的語句通過GRANT或REVOKE獲得許可,確定單個用戶和用戶組對數據庫對象的訪問。某些RDBMS可用GRANT或REVOKE控制對表單個列的訪問。
1.2.6、指針控制語言(CCL)
它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于對一個或多個表單獨行的操作。
1.3、書寫規則
數據庫中,SQL 語句大小寫不敏感. 如: select、SELECT.、SeleCt,為了提高可讀性,一般關鍵字大寫,其他小寫。
SQL 語句可單行或多行書寫,用分號來分辨是否結束。
合理利用空格和縮進使程序易讀
二、表和ORM
2.1、表
二維表是 同類實體 的各種 屬性的集合,每個實體對應于表中的一行,在關系中稱為元組,相當于通常的一條記錄; 表中的列表示屬性,稱為Field,相當于通常記錄中的一個數據項,也叫列、字段。 行: 表示一個實體,一條記錄 列: 字段,數據項。
2.2、表和對象的關系(ORM)
ORM: Oject Reraltional Mapping : 對象表的映射
在開發中,我們需要將表中的數據查詢出來保存到內存中,或者把內存中的數據保存到數據庫中,此時就需要將數據表的數據和Java中的對象進行映射關聯起來。這種映射關聯就稱為 ORM 思想。
三、Mysql服務
3.1、MySQL服務
打開數據庫連接之前:一定要保證 MySQL 服務已經開啟了。
net start命令開啟一個服務,如:net start MySQL。
net stop 命令關閉一個服務器,如:net stop MySQL
3.2、連接MySQL
方式一
進入 MySQL 自帶的客戶端, 在命令行中輸入密碼。
方式二
在運行(win + r 進入cmd )中輸入命令。
格式:mysql -u賬戶 -p密碼 -h數據庫服務器安裝的主機 -P數據庫端口
mysql -uroot -padmin -h127.0.0.1 -P3306
若連接的數據庫服務器在本機上,并且端口是 3306。 則可以簡寫: mysql -uroot -padmin。
四、數據庫基礎
4.1、數據庫基本操作
查看數據庫服務器存在哪些數據庫.:SHOW DATABASES。
使用指定的數據庫.:USE database_name。
查看指定的數據庫中有哪些數據表:SHOW TABLES。
創建指定名稱的數據庫.:CREATE DATABASE database_name。
刪除數據庫:DROP DATABASE database_name。
4.2、存儲引擎
MySQL 中的數據用各種不同的技術存儲在文件(或者內存)中。這些技術中的每一種技術都使用不同的存儲機制、索引技巧、鎖定水平并且最終提供不同的功能和能力。 通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。
簡單來說,存儲引擎是表的存儲方式。
MySQL常用存儲引擎:
MyISAM:擁有較高的插入,查詢速度,但不支持事務,不支持外鍵。
InnoDB:支持事務,支持外鍵,支持行級鎖定,性能較低。最安全
InnoDB 存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但對比MyISAM,處理效率差,且會占用更多的磁盤空間以保留數據和索引。一個系統,特別是金融系統,沒有事務是很恐怖的事情,一般都要選擇 InnDB。
MySQL 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。