MYSQL(資料庫概念,表的基本操作)
一、資料庫概念
資料庫(Database:DB):資料庫是按照資料結構啦組織、儲存和管理資料的倉庫--->資料庫其實就是磁碟中的檔案+管理系統
資料庫管理系統(Database Management System:DBMS)是專門用於管理資料庫的計算機系統
軟體。資料庫管理系統能夠為資料庫提供資料的定義、建立、維護、查詢和統計等操作功能。並完成
對資料完整性、安全性進行控制的功能
=======================================================
二、SQL:結構化查詢語言(Structured Query Language)
關係型資料庫標準語言,特點:簡單,靈活,功能強大
SQL包含6個部分(*號表示常用):
1.資料查詢語言(DQL query)*
其語句也稱為“資料檢索語言”,用以從表中獲取資料,確定資料怎樣在應用程式中輸出,關鍵字 SELECT(查詢)是DQL(也是所有SQL)用的最多的動詞,其他DQL常用的關鍵字有WHERE(用來限制字 段),ORDER BY(排序),
GROUP BY(分組)和HAVING(分組後排序)。這些DQL關鍵字常與其他型別的SQL語句一起使用。
2.資料操作語言(DML manipulation)*
其語句包括動詞INSERT,UPDATE和DELETE,它們分別用於新增,修改和刪除表中的行,
也稱為動作查詢語言(SELECT查詢和INSERT查詢有什麼區別?)
3.事務處理語言(TCL)
它的語句能夠確保被DML語句影響的表所有行及時得到更新,TPL語句包括BEGIN TRANSACTION,
COMMIT(事務提交)和ROLLBACK(事務回滾)
4.資料控制語言(DCL)
它的語句通過GRANT和REVOKE獲得許可,確定單個使用者和使用者組對資料庫物件的訪問,某些RDBMS
可用GRANT和REVOKE控制對錶單個列的訪問
5.資料定義語言(DDL definition)*
其語句包括動詞CREATE(建立)和DROP(刪除),在資料庫中建立新表和刪除表,為表加入索引等。
DDL包括許多與人資料庫目錄中獲得資料有關的關鍵字,它也是動作查詢的一部分
6.指標控制語言(CCL)
它的語句,像DECLARE CURSOR,FETCH INTO 和UPDATE WHERE CURRENT用於對一個
或多個表單獨進行的操作
======================================================
三、SQL編寫規則:
1.在資料庫中,SQL語句不區分大小寫
2.SQL語句可以單行也可以多行寫
3.在SQL語句中,關鍵字不能多行或縮寫
4.為了提高可讀性,關鍵字一般大寫,其他小寫
5.空格和縮排使程式易讀
6.SQL不需要加分號,但是程式設計師在語句後加分號是一個好習慣
四、什麼是表?
我們說MySQL是一種關係型資料庫,關係型資料庫最重要的概念就是表,表具有固定的列數和任意的行數,在數學上稱為“關係”二維表是同類實體的各種屬性的集合,每個實體對應於表中的一行,在關係中稱為元組,相當於通常的一條記錄,表中的列屬性,稱為Field,相當於通常記錄中的一個數據項,也叫做列、欄位。
面向物件的類,類似於關係型資料庫中表的概念
ORM思想:物件-關係對映
類 | 表 |
---|---|
屬性 | 列 |
物件 | 一行資料 |
五、資料庫操作和儲存引擎
資料庫物件:儲存、管理和使用資料的不同結構形式,如:表、檢視、儲存過程、函式、
觸發器、事件等。資料庫:儲存資料庫物件的容器
資料庫分為兩種:系統自帶的,和使用者自定義資料庫
常用資料庫命令:
show databases; 檢視資料庫
use dName; 使用資料庫
show tables; 查看錶
create database dName 建立資料庫
drop database dName 刪除資料庫
六、Mysql資料常用型別
MySQL以一個可選的顯示寬度指示器的形式對SQL標準進行擴充套件,這樣當資料庫檢索一個值時,可以把這個值加長到指定長度需要注意,使用一個寬度指示器不會影響欄位的大小和它可以儲存的值的範圍,一般不用指定位寬
整數型別
INT | int/Integer |
BIGINT | long/Long |
int(2),在檢索時,長度會加長到2,不代表最大儲存99,僅僅是查詢時,使用兩個0佔位
小數型別
FLOAT | float/Float |
DOUBLE | double/Double |
money(5,2):整數和小數一共5位,其中小數佔兩位,最大999.99最小-999.99
字元型別
CHAR | 定長字元型,0-255位元組 | String/StringBuid |
VARCHAR | 變長字元型 | StringBuffer |
TEXT | 純文字 |
定長和變長:位元組數的佔用問題CHAR(5),VARCHAR(5),存‘1’,CHAR五個位元組,VARCHAR1個位元組
日期型別
DATE | 0000:00:00 | Date/Calender |
TIME | 00:00:00 | |
DATETIME | 0000:00:00 00:00:00 | |
TIMESTAMP | 時間戳(1970-01-01 00:00:00差) |
二進位制型別 (用的很少)
BINARY\VARBINARY\TINYBLOB\BLOB\MEDIUMBLOB\LONGBLOB 存放圖形、聲音、影響、二進位制物件 *:一般將二進位制的檔案儲存路徑儲存在資料中
BIT | boolean |
七、表的操作
建立表
CREATE TABLE 表名(
colName1 type1 [約束]
colName2 type2,
colName3 type3
);
ex:建立一張學生資訊表
create table t_student(
id int;
name varchar(20);
age int;
);
為了避免使用到關鍵字,我們還可以將名字用` `圈起來
create table `t_student`(
`id` int;
`name` varchar(20);
`age` int;
);
查看錶的結構
desc tName;
查看錶的詳細定義(查看錶的定義SQL語句)
show create table tName;
刪除表
drop table tName;
表的約束(針對某列而言)
1.非空約束:NOT NULL,不允許欄位的內容為空
2.設定列的預設值:DEFAULT
3.唯一約束:UNIQUE,在該表中,該列的內容必須唯一
4.主鍵約束:PRIMARY KEY,非空且唯一
主鍵設計,唯一標識某一行資料
5.主鍵自增長:AUTO_INCREMENT,從1開始,步長為1
6.外來鍵約束:FOREIGNKEY,A表中的外來鍵列,A表中的外來鍵列的值必須參照於B表中的某一列(B表的主鍵)
*注意:主鍵的設計
1.單欄位主鍵:單列作為主鍵,建議使用
複合主鍵:使用多列欄位當主鍵,不建議
2.主鍵的種類:
1).自然主鍵:使用有業務含義的列作為主鍵(不建議使用),例如身份證號碼
2).代理主鍵:使用沒有業務含義的列作為主鍵
CREATE TABLE `t_student`(
`id` INT PRIMARY KEY; //主鍵,非空且唯一
` name` VARCHAR(20) UNIQUE NOT NULL; //非空且值唯一
`age` INT DEFAULT 100; //預設值100
);
八、MYSQL小結
1.MySQL安裝和配置(儲存引擎,字元編碼,密碼)
2.常用命令
1)檢視有哪些資料庫
show databases;
2)使用某一個數據庫
use dName;
3)檢視某個資料庫中有什麼表
show tables;
4)建立和刪除一個數據庫
create database dName;
drop database dName;
5)建立和刪除表
-
create table tName(
-
colName1 type1 [約束],
-
colName2 type2 [約束],
colName3 type3
);
drop table tName;
--------------------- 本文來自 BigDodo 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qq_38741971/article/details/80575835?utm_source=copy