數據庫mysql基礎(一)

數據庫mysql基礎(一)

目錄

一、MySql簡介

二、MySql的特點

三、MySQL術語

四、數據庫的使用以及創建


一、MySql簡介

  MySQL是一個關係型數據庫管理系統由瑞典MySQL AB 公司開發,屬於Oracle旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的RDBMS(Relational Database Management System,關係數據庫管理系統) 應用軟件之一。

  MySQL使用的SQL語言是訪問數據庫最常用的標準化語言。MySQL軟件分爲社區版和商業版,採用雙重授權策略,一般選擇MySQL作爲中小型網站開發的網站數據庫。

二、MySql的特點

1.MySQL性能優異,服務穩定,異常停機次數少。

2.MySQL源代碼開放,無版權限制,自治性和使用成本低。

3.MySQL歷史悠久,用戶活躍,如果有問題可以求助。

4.MySQL體積小,易於安裝和維護。

5.MySQL有很好的口碑效應,企業不需要考慮就可以用,Lamp和LMP是比較流行的架構。

MySQL支持多種操作系統,提供多種API接口,支持多種開發語言,特別是PHP。

三、MySQL術語

數據庫 數據庫是一些關聯表的集合
數據表  表是數據的矩陣,在一個數據庫中的表看起來像一個簡單的電子表格
一列(數據元素) 包含了相同類型的數據, 例如郵政編碼的數據
一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據
冗餘 存儲兩倍數據,冗餘降低了性能,但提高了數據的安全性
主鍵 主鍵是唯一的。一個數據表中只能包含一個主鍵。你可以使用主鍵來查詢數據
外鍵 外鍵用於關聯兩個表
複合鍵 複合鍵(組合鍵)將多個列作爲一個索引鍵,一般用於複合索引
索引 使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄
參照完整性 參照的完整性要求關係中不允許引用不存在的實體。與實體完整性是關係模型必須滿足的完整性約束條件,目的是保證數據的一致性

四、數據庫的使用以及創建

1.關係型數據庫系統支持三級模式結構,其模式、外模式、和內模式中的基本對象有模式、表、視圖和索引等。

MYSQL的數據定義語句
操作對象 操作方式
創建 刪除 修改
模式 create schema drop schema
create table drop table alter table
視圖 create view drop view
索引 create index drop index alter index

 

2.模式的創建和刪除

(1).創建模式

mysql> create schema ccc;

(2).刪除模式

mysql> drop schema people;

3.表的創建以及增刪查改

(1).創建表

mysql> create table people(
    -> id char(20) primary key,
    -> name char(4),
    -> age smallint,
    -> sex boolean);

  primary key是主鍵。

MySQL數據類型
數據類型 含義
char(n),character(n) 長度爲n的定長字符串
vchar(n),charactervarying(n) 最大長度爲n的變長字符串
clob 字符串大對象
blob 二進制大對象
int,integer 長整型(4字節)
smallint 短整型(2字節)
bigint

大整型(8字節)

numeric(p,d) 定點數,有p位數字(不包括符號、小數點)組成,小數點後有d位數字
decimal(pd),dec(p,d) 同numeric
real 取決於機器精度的單精度浮點數
double precision 取決於機器精度的雙精度浮點數
float(n) 可選精度的浮點數,精度至少爲n位
boolean 邏輯布爾值
date 日期,包含年、月、日,格式爲YYYY-MM-DD
time 時間,包含時、分、秒,格式爲HH:MM:SS
timestamp 時間戳類型
interval 時間間隔類型

(2)向表格插入數據

mysql> insert into people(id,name,age,sex) values ('001','張三',19,0);

  如果插入出現錯誤Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'student_name' at row 1,有可能是編碼錯誤,可以嘗試,輸入以下代碼

mysql> set names gbk;

(3)查詢表格中的數據

①全部查詢

mysql> select * from people;

  *號代表查詢表名爲people的表中的所有信息。 

+-----+------+------+------+
| id  | name | age  | sex  |
+-----+------+------+------+
| 001 | 張三     |   19 |    0 |
+-----+------+------+------+

 ②部分查詢


mysql> select id,name from people;

+-----+------+
| id  | name |
+-----+------+
| 001 | 張三     |
+-----+------+

  當然,也可以通過上述方法來查詢全部信息,前提是你要知道所有列名

mysql> select id,name,age,sex from people;

 +-----+------+------+------+
| id  | name | age  | sex  |
+-----+------+------+------+
| 001 | 張三     |   19 |    0 |
+-----+------+------+------+

(4)修改表中的數據

mysql> update people set age=20 where id='001';

  修改之後,如下 

+-----+------+------+------+
| id  | name | age  | sex  |
+-----+------+------+------+
| 001 | 張三     |   20 |    0 |
+-----+------+------+------+

(5)刪除表格數據

①刪除部分數據  

之前數據,如下

+-----+------+------+------+
| id  | name | age  | sex  |
+-----+------+------+------+
| 001 | 張三     |   19 |    0 |
| 002 | 李四     |   20 |    0 |

mysql> delete from people where id='002';

  刪除之後的數據,如下

+-----+------+------+------+
| id  | name | age  | sex  |
+-----+------+------+------+
| 001 | 張三     |   19 |    0 |
+-----+------+------+------+

 ②刪除全部數據

mysql> delete from people;

  刪除之後,查詢的表爲空表 

mysql> select * from people;
Empty set (0.00 sec)

  刪掉表之後,一定要跑路,跑慢了後果會很嚴重

   

  這一篇博客主要寫的就是MySql操作的一些基礎知識,能滿足日常的操作,之後我會持續更新對MySQL的其他操作。

 

  最後的最後,我再推薦一個可視化的數據庫管理工具Navicat Premium,Navicat Premium是以直覺化的圖形用戶界面而建的,讓你可以以安全並且簡單的方式創建、組織、訪問並共用信息。Navicat Premium是一個可多重連接的數據庫管理工具,它可讓你以單一程序同時連接。可以連接多種數據庫,操作簡單。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章