Mysql的簡單學習摘要

jopen 9年前發布 | 7K 次閱讀 MySQL 數據庫服務器

數據庫概述:

層次模型:樹狀關系

網狀模型:網狀關系

關系模型:表格關系


CRUD:

C:Create

R:Retrieve

U:Update

D:Delete


數據庫語言分類:

DQL:數據查詢語言——R

DML:數據操作語言——CUD


關于數據庫的操作:

|——創建數據庫: create database 數據庫名;

|——查看所有數據庫: show databases;

|——使用某個數據庫: use 數據庫名;

|——刪除數據庫: drop database 數據庫名;

|——查看數據庫編碼:show variables like 'character%';


關于表的操作:

|——查看當前數據庫的所有表:show tables;

|——創建一個表:create table 表名(字段名1 字段類型,字段名2 字段類型,...,字段名n 字段類型);

|——查看表的創建語句:show create table 表名;

|——查看表結構:desc/describe 表名;

|——刪除這個表:drop table 表名;

|——修改表名:rename table 原表名 to 新表名;

|——修改表字符集:alter table 表名 character set 字符集;

|——對表中的列進行修改:alter table 表名 ————————————————

                                添加一列:|——add 字段名 字段類型; 

                              修改某列的數據類型:|——modify 須修改的字段名 修改后的數據類型;

                                刪除某列:|——drop 字段名;

                             修改列名和類型:|——change 原字段名 新字段名 新字段的數據類型;



對于數據的操作:

|——C:增加一條數據: insert into 表名[(字段名1,字段名2,...,字段名n)] values(數據1,數據2,數據3,...,數據n);

|    ##注意:當sql中不寫表名后面的字段名列表時,values中的值是根據table中的默認順序添加的。

|——D:刪除一條數據: delete from 表名 where 條件;

|##刪除表內容的兩種方式: delete from 表名;(一條條刪除) truncate table 表名;(刪除整個表,再建新表)

|

|——U:更新一條數據: update 表名 set 字段名=值,字段名=值 where 條件;

|

|

|——R:查詢一條數據: select 列名(*代表所有列) from 表名 [where 條件] [order by][group by];

|##查詢模糊數據時,一般使用where 字段名 like '_X%';其中_代表一個任意字符,%代表多個任意字符

|##查詢區間時,可以使用between, between A and B, 即[A,B]

|##在一個數字集合中查詢時,可以使用in(A,B,C);





一些數據庫的基本概念;

————數據完整性

我們要保證三種數據完整性:

元素完整性

域完整性

參照完整性

那么什么是數據完整性呢?實際上就是通過一些約束來保證數據的正常使用,叫做數據完整性。


那么如何保證元素的完整性呢?使用主鍵約束

那么如何保證域完整性的?使用特定的數據類型和約束,比如NOT NULL 和 unique

那么如何保證參照完整性的?使用外鍵約束,保證這個表的外鍵與另一個表的主鍵相連



如何創建主鍵:

在創建表的時候使用: 字段 字段的數據類型 primary key;

使用alter 對列的屬性進行修改時將主鍵添加上去


如何創建外鍵:

alter table 表名 add constraint FK_表名_外鍵名 foreign key(外鍵名) references 表名(字段名);

            |                                                                  |                     |

        約束                約束名規范               參照                  對應主鍵



一些數據庫的基本概念

————數據庫三大范式

范式的目的是什么?是避免數據冗余

我們在開發過程中往往要遵循數據庫的三大范式。

但是有時候為了提高查詢速度,在設計數據庫時也會有反三范式的情況出現。


1.NF:確保表中的每列不可再分。

2.NF:確保每一行的數據都是唯一的。

3.NF:符合amstrong推理原則。


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!