您好,登錄后才能下訂單哦!
MySQL基礎入門知識有哪些呢,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬于Oracle旗下產品。 MySQL是最流行的關系型數據庫管理系統之一,許多全球規模龐大、發展迅速的組織,Facebook、Google、Adobe、Alcatel Lucent和Zappos等都依靠MySQL來管理數據,為其高容量網站、關鍵業務系統和套裝軟件提供支持。
一、關系數據庫MySQL概述
MySQL有如下特點,這些特點使得其得到了廣泛應用。
1. 簡單易用
MySQL是一個高性能且相對簡單的數據庫系統,與一些大型系統的設置和管理相比,其復雜程度較低。
2. 價格低
MySQL對多數個人用戶來說是免費的。
3. 小巧
MySQL數據庫的4.1.1發行版只有21MB,安裝完成也僅僅51MB。
4. 支持查詢語言
MySQL支持SQL(結構化查詢語言)。SQL是一種所有現代數據庫系統都選用的語言。SQL支持ODBC(開放式數據庫連接)的應用程序,ODBC是Microsoft開發的一種數據庫通信協議。
5. 性能
MySQL數據庫沒有用戶數的限制,多個客戶機可同時使用同一個數據庫。可利用幾個輸入查詢并查看結果的界面來交互式地訪問MySQL。這些界面有命令行客戶機程序、Web瀏覽器或X Window System客戶機程序。此外,還有由各種語言(如C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl)編寫的界面。因此,可以選擇使用已編好的客戶機程序或編寫自己的客戶機應用程序。
6. 連接性和安全性
MySQL是完全網絡化的,可在因特網上的任何地方訪問其數據庫,因此,可以和任何地方的任何人共享數據庫。而且MySQL支持訪問控制,可以控制哪些人不能看到數據。
7. 可移植性
MySQL可運行在各種版本的UNIX以及其他非UNIX的系統(例如Windows和OS/2)上。MySQL可運行在從家用PC到高級的服務器上。
8. 開放式的分發
MySQL容易獲得:只要使用Web瀏覽器即可訪問官網下載獲得。如果不能理解其中某個算法是如何起作用的,或者對某個算法感到好奇,可以將其源代碼取來,對源代碼進行分析。如果不喜歡某些算法,還可以更改它。
9. 速度快
MySQL運行速度很快。曾經有開發者聲稱MySQL可能是目前能得到的最快的數據庫。
二、SQL概述
SQL最早的版本是由IBM開發的,它最初被叫作Sequel,在20世紀70年代早期是System R項目的一部分。Sequel語言發展至今,其名稱已變為SQL(Structured Query Language,結構化查詢語言)。 它是一種特定目的編程語言,用于管理關系數據庫管理系統或在關系流數據管理系統中進行流處理。
SQL基于關系代數和元組關系演算,包括一個數據定義語言和數據操縱語言。SQL的范圍包括數據的插入/查詢/更新和刪除、數據庫模式的創建和修改,以及數據訪問控制。盡管SQL經常被描述為一種聲明式編程語言(4GL,即第四代語言),但也含有過程式編程的元素。
SQL是對埃德加·科德關系模型的第一個商業化語言實現,這一模型于1970年在一篇具有影響力的論文《一個對于大型共享型數據庫的關系模型》中被描述。盡管SQL并非完全按照科德的關系模型設計,但 其依然成為應用最為廣泛的數據庫語言。
SQL在1986年成為美國國家標準學會(ANSI)的一項標準,在1987年成為國際標準化組織(ISO)標準。此后,這一標準經過了一系列的增訂,加入了大量新特性。雖然有這一標準的存在,但大部分SQL代碼在不同的數據庫系統中并不具有完全的跨平臺性。
MySQL非常友好地支持SQL語言 ,本文只給出簡單的舉例。
官網按SQL語法功能分為8個部分,分別是:
數據定義語句(Data Definition Statement)
數據處理語句(Data Manipulation Statement)
事務和鎖定聲明(Transactional and Locking Statement)
復制語句(Replication Statement)
預處理SQL語句語法(Prepared SQL Statement Syntax)
復合語句語法(Compound-Statement Syntax)
數據庫管理聲明(Database Administration Statement)
效用聲明(Utility Statement)
下文將對前2個部分舉例講解。
三、數據定義語句
數據庫中的關系集合必須由數據定義語句指定給系統,主要提供表相關的定義關系模式、刪除關系以及修改關系模式的命令。例如:數據庫、表、表空間、觸發器、事件、索引及函數的定義、更改操作等。
【例1】 指定表空間創建庫表,并在已有表的基礎上增加列,查看表結構。
1. 建立名為ts_1的表空間
mysql> CREATE TABLESPACE ts_1 ADD DATAFILE 'ts_1.ibd' Engine=InnoDB;
Query OK, 0 rows affected (0.11 sec)
2. 建立名為testq的數據庫
mysql> CREATE DATABASE testq;
Query OK, 1 row affected (0.00 sec)
3. 切換至名為testq的數據庫
mysql> use testq;
Database changed
4. 建立表,并指定表使用的表空間及引擎
mysql> CREATE TABLE t1(
-> c1 INT STORAGE DISK,# 數據存儲于磁盤
-> c2 INT STORAGE MEMORY# 數據基于內存
-> ) TABLESPACE ts_1 ENGINE INNODB;# 指定表空間ts_1及引擎INNODB
Query OK, 0 rows affected (0.34 sec)
5. 向表t1中增加列c3,類型為VARCHAR,長度為10
mysql> ALTER TABLE t1 ADD c3 VARCHAR(10);
Query OK, 0 rows affected (0.52 sec)
Records: 0 Duplicates: 0 Warnings: 0
6. 查看表t1的結構
mysql> DESC t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| c1 | int(11) | YES | | NULL | |
| c2 | int(11) | YES | | NULL | |
| c3 | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
注意
在my.ini文件中設置:
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
否則會出現“1286 Unknown storage engine 'InnoDB'”錯誤。
成功啟動后,通過SHOW ENGINES查看引擎是否在運行。
四、數據處理語句
數據處理語句主要提供數據庫表中相關數據元組的插入、刪除、修改和查詢等操作。
【例2】 向已有的表t1中插入、查詢、更改和刪除數據。
1. 向表t1中插入2條數據,其中第2列數據是第1列數據的2倍
mysql> INSERT INTO t1(c1,c2,c3) VALUES(1,c1*2,'a'),(2,c1*2,'b');
Query OK, 2 rows affected (0.10 sec)
Records: 2 Duplicates: 0 Warnings: 0
2. 查詢表t1中所有的數據
mysql> SELECT * FROM t1;
+------+------+------+
| c1 | c2 | c3 |
+------+------+------+
| 1 | 2 | a |
| 2 | 4 | b |
+------+------+------+
2 rows in set (0.00 sec)
3. 更新表t1中的數據,其中當c1等于2時,對應的c2列的數據乘以3,對應的c3列的值更改為updateb
mysql> UPDATE t1 SET c2=c1*3,c3='updateb'
-> WHERE c1=2;
Query OK, 1 row affected (0.11 sec)
Rows matched: 1 Changed: 1 Warnings: 0
4. 當c1等于2時,查詢表t1中對應的元組的數據
mysql> SELECT * FROM t1 WHERE c1=2;
+------+------+---------+
| c1 | c2 | c3 |
+------+------+---------+
| 2 | 6 | updateb |
+------+------+---------+
1 row in set (0.05 sec)
5. 當c1等于2時,刪除表t1中對應的元組的數據
mysql> DELETE FROM t1 WHERE c1=2;
Query OK, 1 row affected (0.10 sec)
用SELECT語句查詢表t1,發現c1=2對應的元組的數據都已經被刪除。
mysql> SELECT * FROM t1;
+------+------+------+
| c1 | c2 | c3 |
+------+------+------+
| 1 | 2 | a |
+------+------+------+
1 row in set (0.00 sec)
關于MySQL基礎入門知識有哪些呢問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。