目錄
1、數據庫簡介
數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。
每個數據庫都有一個或多個不同的 API 用於創建,訪問,管理,搜索和複製所保存的數據。
我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。
小數據:用XML等文件來管理數據
小規模:用mySql SqlServer等數據庫來管理數據
大規模:用Oracle等
所以,現在我們使用關係型數據庫管理系統(RDBMS)來存儲和管理大數據量。
所謂的關係型數據庫,是建立在關係模型基礎上的數據庫,藉助於集合代數等數學概念和方法來處理數據庫中的數據。
RDBMS 即關係數據庫管理系統(Relational Database Management System)的特點:
- 1.數據以表格的形式出現
- 2.每行爲各種記錄名稱
- 3.每列爲記錄名稱所對應的數據域
- 4.許多的行和列組成一張表單
- 5.若干的表單組成database
2、基礎知識
- 數據庫: 數據庫是一些關聯表的集合。
- 數據表: 表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。
- 列: 一列(數據元素) 包含了相同類型的數據, 例如郵政編碼的數據。
- 行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。
- 冗餘:存儲兩倍數據,冗餘降低了性能,但提高了數據的安全性。
- 主鍵:主鍵是唯一的。一個數據表中只能包含一個主鍵。你可以使用主鍵來查詢數據。
- 外鍵:外鍵用於關聯兩個表。
- 複合鍵:複合鍵(組合鍵)將多個列作爲一個索引鍵,一般用於複合索引。(不是很理解)
- 索引:使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。
- 參照完整性: 參照的完整性要求關係中不允許引用不存在的實體。與實體完整性是關係模型必須滿足的完整性約束條件,目的是保證數據的一致性。
服務端的作用是保存、處理、分發數據。客戶端的作用是請求數據並顯示出來。數據庫是通過服務端訪問的,訪問後處理幷包裝爲JSON,通過socket發送給客戶端。客戶端收到後解釋這個JSON,從中提前所需的數據並顯示。
3、軟件安裝
3.1、mysql 的安裝
https://www.cnblogs.com/zhangkanghui/p/9613844.html
3.2、Win10系統下Navicat Premium 12
https://blog.csdn.net/qq_43091249/article/details/85263017
3.3、ubuntu下安裝mysql
https://www.cnblogs.com/heyyw1119/p/10645916.html
4、基本操作
4.1、安裝結束後,首次登陸,密碼默認爲空。
root@zhaoqi-EHA4:/home/zhaoqi# mysql -uroot -p
uroot也可以寫成u root
4.2、修改密碼
root@zhaoqidong-EHA4:/home/zhaoqi# mysqladmin -u root password "new_password";
4.3、顯示數據庫
mysql> show databases;
4.4、退出數據庫
mysql> exit;
4.5、創建數據庫
mysql> create database test;
4.6、選中數據庫,查看數據表
mysql> use test;
mysql> show tables;
4.7、創建數據表
mysql> create table pet( name varchar(20), owner varchar(20), species varchar(20), sex char(1), birth date);
4.8 、查看數據表
mysql> describe pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4.9、向數據表中增加、刪除、改動和查詢數據記錄
#增加 insert
mysql> insert into pet values ('wangcai','qidong','gou','f','1990-11-11');
#刪除 delete
mysql>delete from pet where name='wangcai';
#改動 update
mysql>update pet set name='wangcai2' where owner='zhaoqi';
#查詢 select
mysql> select * from pet;
+---------+--------+---------+------+------------+
| name | owner | species | sex | birth |
+---------+--------+---------+------+------------+
| wangcai2 | zhaoqi | gou | f | 1990-11-11|
+---------+--------+---------+------+------------+
另外:查看、啓動和停止數據庫服務
sudo service mysql status
sudo service mysql restart
sudo service mysql stop
5、Navicat工具
中文教程文檔:https://www.navicat.com.cn/manual/online_manual/cn/navicat/win_manual/index.html
5.1連接
進入/etc/mysql/mysql.conf.d目錄下,修改mysqld.cnf文件
1、註釋掉 bind-address=127.0.0.1
2、增加兩行設置用戶權限
skip-name-resolve
skip-grant-tables
設置完畢後,即可通過Navicat連接數據庫了
可視化管理界面