MySQL一 ----- 初步瞭解mysql

一、 什麼是數據庫

數據庫(DataBase,簡稱DB)

1.概念 : 長期存放在計算機內,有組織,可共享的大量數據的集合,是一個數據"倉庫"

2.作用 : 保存,並能安全管理數據(如:增刪改查等),減少冗餘…

  1. 數據庫總覽 :

4.關係型數據庫 (SQL)
MySQL , Oracle , SQL Server , SQLite , DB2 , …
關係型數據庫通過外鍵關聯來建立表與表之間的關係
非關係型數據庫*(NOSQL)*
Redis , MongoDB , …
非關係型數據庫通常指數據以對象的形式存儲在數據庫中,而對象之間的關係通過每個對象自身的屬性來決定

二、 什麼是DBMS

數據庫管理系統 ( DataBase Management System )

數據庫管理軟件 , 科學組織和存儲數據 , 高效地獲取和維護數據
  在這裏插入圖片描述

重點來了,今天我們就來學習mysql

首先先簡單介紹一下 MYSQL 的概念:
      mysql是現在流行的開源的,免費的 關係型數據庫,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。

特點:

1.免費 , 開源數據庫
2.小巧 , 功能齊全
3.使用便捷
4.可運行於Windows或Linux操作系統
5.可適用於中小型甚至大型網站應用
6.官網 : https://www.mysql.com/

數據庫(mysql)的安裝

第一步:請看我前面的博客,哈哈有點懶給你搞個鏈接:https://mp.csdn.net/mdeditor/95741258#
安裝好後 我們再來安裝(sqlyog)----->即可視化工具

sqlyog

可手動操作,管理MySQL數據庫的軟件工具

特點 : 簡潔 , 易用 , 圖形化在這裏插入圖片描述

連接數據庫

在DOS命令行窗口
在窗口中進入 安裝目錄\mysql\bin
可設置環境變量
連接數據庫語句 : mysql -h 服務器主機地址 -u 用戶名 -p 用戶密碼

注意 : -p後面不能加空格,否則會被當做密碼的內容,導致登錄失敗 !

幾個基本的數據庫操作命令 :

/*
update user set password=password('123456')where user='root'; 修改密碼
flush privileges;  刷新數據庫
show databases; 顯示所有數據庫
use dbname; 打開某個數據庫
show tables; 顯示數據庫mysql中所有的表
describe user; 顯示錶mysql數據庫中user表的列信息
create database name; 創建數據庫
use databasename; 選擇數據庫

exit; 退出Mysql
? 命令關鍵詞 : 尋求幫助
# 表示註釋
*/

結構化查詢語句SQL

在這裏插入圖片描述

在這裏插入圖片描述

創建數據庫

在這裏插入圖片描述

創建數據表

屬於DDL的一種

語法 :

create table [if not exists] `表名`(
    '字段名1' 列類型 [屬性][索引][註釋],
    '字段名2' 列類型 [屬性][索引][註釋],
    #...
    '字段名n' 列類型 [屬性][索引][註釋]
)[表類型][表字符集][註釋];

說明 : 反引號用於區別MySQL保留字與普通字符而引入的 (鍵盤esc下面的鍵).

數據值和列類型

在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

數據字段屬性

UnSigned :

無符號的
聲明該數據列不允許負數 .
ZEROFILL :

0填充的
不足位數的用0來填充 , 如int(3),5則爲005
Auto_InCrement :

自動增長的 , 每添加一條數據 , 自動在上一個記錄數上加 1(默認)
通常用於設置主鍵 , 且爲整數類型
可定義起始值和步長
當前表設置步長(AUTO_INCREMENT=100) : 隻影響當前表
SET @@auto_increment_increment=5 ; 影響所有使用自增的表(全局)
NULL 和 NOT NULL :

默認爲NULL , 即沒有插入該列的數值
如果設置爲NOT NULL , 則該列必須有值
DEFAULT :

默認的
用於設置默認值
例如,性別字段,默認爲"男" , 否則爲 “女” ; 若無指定該列的值 , 則默認值爲"男"的值

# 目標 : 創建一個school數據庫
# 創建學生表(列,字段)
# 學號int 登錄密碼varchar(20) 姓名,性別varchar(2),出生日期(datatime),家庭住址,email
# 創建表之前 , 一定要先選擇數據庫

CREATE TABLE IF NOT EXISTS `student` (
  `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '學號',
  `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
  `sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性別',
  `birthday` datetime DEFAULT NULL COMMENT '生日',
  `address` varchar(100) DEFAULT NULL COMMENT '地址',
  `email` varchar(50) DEFAULT NULL COMMENT '郵箱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

# 查看數據庫的定義
SHOW CREATE DATABASE school;
# 查看數據表的定義
SHOW CREATE TABLE student;
# 顯示錶結構
DESC student;
# 設置嚴格檢查模式(不能容錯了)
SET sql_mode='STRICT_TRANS_TABLES';

數據表的類型

設置數據表的類型

CREATE TABLE 表名(
    #省略一些代碼
    #Mysql註釋
    #1. # 單行註釋
    #2. /*...*/ 多行註釋
)ENGINE = MyISAM (or InnoDB)

# 查看mysql所支持的引擎類型(表類型)
SHOW ENGINES;
# 查看默認引擎
SHOW VARIABLES LIKE 'storage_engine';

MySQL的數據表的類型 : MyISAM , InnoDB , HEAP , BOB , CSV等…

常見的 MyISAM 與 InnoDB 類型

在這裏插入圖片描述
經驗(適用場合) :

適用MyISAM : 節約空間及相應速度
適用InnoDB : 安全性 , 事務處理及多用戶操作數據表
數據表的存儲位置 :

MySQL數據表以文件方式存放在磁盤中
包括表文件 , 數據文件 , 以及數據庫的選項文件
位置 : Mysql安裝目錄\data\下存放數據表 . 目錄名對應數據庫名 , 該目錄下文件名對應數據表 .
注意 :
InnoDB類型數據表只有一個 *.frm文件 , 以及上一級目錄的ibdata1文件
MyISAM類型數據表對應三個文件 :

  • . frm – 表結構定義文件
  • . MYD – 數據文件(data)
  • . MYI – 索引文件(index)
  • 在這裏插入圖片描述

* 設置數據表字符集

可爲數據庫,數據表,數據列設定不同的字符集

設定方法 :

創建時通過命令來設置 , 如 :
CREATE TABLE 表名()CHARSET = utf8;
如無設定 , 則根據MySQL數據庫配置文件my.ini中的參數設定

修改數據庫

修改表( ALTER TABLE )
修改表名 :
ALTER TABLE 舊錶名 RENAME AS 新表名
添加字段 :
ALTER TABLE 表名 ADD字段名 列屬性[屬性]
修改字段 :
ALTER TABLE 表名 MODIFY 字段名 列類型[屬性]
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 列屬性[屬性]
刪除字段 :
ALTER TABLE 表名 DROP 字段名

刪除數據表

語法 :  DROP TABLE [IF EXISTS] 表名 
IF EXISTS爲可選 , 判斷是否存在該數據表
如刪除不存在的數據表會拋出錯誤
/* 雜項 */ ------------------
1. 可用反引號(`)爲標識符(庫名、表名、字段名、索引、別名)包裹,以避免與關鍵字重名!中文也可以作爲標識符!
2. 每個庫目錄存在一個保存當前數據庫的選項文件db.opt。
3. 註釋:
    單行註釋 # 註釋內容
    多行註釋 /* 註釋內容 */
    單行註釋 -- 註釋內容        (標準SQL註釋風格,要求雙破折號後加一空格符(空格、TAB、換行等))
4. 模式通配符:
    _    任意單個字符
    %    任意多個字符,甚至包括零字符
    單引號需要進行轉義 \'
5. CMD命令行內的語句結束符可以爲 ";", "\G", "\g",僅影響顯示結果。其他地方還是用分號結束。delimiter 可修改當前對話的語句結束符。
6. SQL對大小寫不敏感
7. 清除已有語句:\c
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章