天天看點

資料庫常用字段、列屬性、表類型與SQLyog工具的使用

目錄

    • SQLyog工具
    • 資料庫的一些基本操作指令
    • 結構化查詢語句
    • 資料值和列類型
      • 列類型
      • 資料字段屬性
    • 資料表類型
      • 資料表的存儲位置 :

SQLyog工具

    一款可視化操作資料庫的工具,簡潔,易用,圖形化,可是基本的DOS命名大家還是要記住!

下載下傳位址:

打開後可以看到:

資料庫常用字段、列屬性、表類型與SQLyog工具的使用

點選測試連接配接;檢視是否可以連接配接成功,進入後:

資料庫常用字段、列屬性、表類型與SQLyog工具的使用

使用SQLyog管理工具自己完成以下操作 :

  • 連接配接本地MySQL資料庫
  • 建立MySchool資料庫
  • 資料庫名稱MySchool
  • 建立資料庫表(grade)
  • 字段

    GradeID : int(11) , Primary Key (pk)

    GradeName : varchar(50)

資料庫的一些基本操作指令

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; 建立資料庫

exit; 退出Mysql
? 指令關鍵詞 :尋求幫助
#表示注解
help:出現所有幫助
           

結構化查詢語句

名稱 解釋 指令
DDL(資料定義語言) 定義和管理資料對象,如資料庫,資料表等 CREATE、DROP、ALTER
DML(資料操作語言) 用于操作資料庫對象中所包含的資料 INSERT、UPDATE、DELETE
DQL(資料查詢語言) 用于查詢資料庫資料 SELECT
DCL(資料庫控制語言) 用來管理資料庫的語言,包括管理權限及資料更改 GRANT、COMMIT、ROLLBACK

資料值和列類型

列類型

列類型:規定資料庫中該列存放的資料類型

  • 數值類型
類型 說明 取值範圍 存儲需求
tinyint 非常小的資料 有符值:-27~27-1 無符值:0~28-1 1位元組
smallint 較小的資料 有符值:-215~215-1 無符值:0~216-1 2位元組
mediumint 中等大小的資料 有符值:-223~223-1 無符值:0~224-1 3位元組
int 常用整數 有符值:-231~231-1 無符值:0~232-1 4位元組
bigint 較大的整數 有符值:-263~263-1 無符值:0~264-1 8位元組
float 單精度浮點數 ±1.1754351e -38 4位元組
double 雙精度浮點數 ±2.225073858507e -308 8位元組
decimal 字元串形式的浮點數 decimal(m,d) m位元組
  • 字元串類型
類型 說明 取值範圍
char[(M)] 固定長字元串,檢索快但費時間,0<=M<=255 M字元
varchar[(M)] 可變字元串,0<=M<=65535 可變長度
tinytext 微型文本串 28-1位元組
text 文本串 216-1位元組
  • 日期和時間型數值類型
類型 說明 取值範圍
DATE YYYY-MM-DD,日期格式 1000-01-01~9999-12-31
TIME Hh:mm:ss,時間格式 -838:59:59~838:59:59
DATETIME YY-MM-DD hh:mm:ss 1000-01-01 00:00:00~9999-12-31 23:59:59
TIMESTAMP YYYYMMDDhhmmss格式表示的時間戳 197010101000000~2037年的某一個時刻
YEAR YYYY格式的年份 1901~2155
  • NULL值

了解為沒有值或未知值,用null進行結果運算,結果還是null

資料字段屬性

UnSigned:

  • 無符号的
  • 聲明該資料列不允許負數

ZEROFILL:

  • 0填充的
  • 不足位數的用0來填充,如int(3),5表示結果為005

Auto_InCrement:

  • 自動增長的,沒添加一條資料,自動在還是哪個一個記錄數上加1(預設)
  • 通常用于設定主鍵,且為整數類型
  • 可定義其實質和步長

    目前表設定步長( AUTO_INCREMENT=100):隻影響目前表

    [email protected]@suto_increemnt_increment=5;影響所有使用自增長的表(全局)

NULL和NOT NULL:

  • 預設為NULL,即沒有插入該列的數值
  • 如果設定為NOT NULL,該列必須有值

DEFAULT:

  • 預設的
  • 用于設值預設值

    例如,姓名字段,預設為"男",否則為"女";若無指定該列的值,則預設值為"男"的值

資料表類型

CREATE TABLE 表名{
	#省略代碼
}ENGINE =MyISAM (or InnoDB)
#檢視mysql所支援的引擎類型(表類型)
SHOW ENGINES;
#檢視預設引擎
SHOW VARIABLES LIKE 'storage_engine';
           

Mysql的資料類型的類型有:MyISAM,InnoDB,HEAP,BOB,CSV等…

常見的MyISAM和InnoDB類型比較:

名稱 MyISAM InnoDB
事務處理 不支援 支援
資料行鎖定 不支援 支援
外鍵限制 不支援 支援
全文索引 支援 不支援
表空間大小 較小 較大,約2倍

使用場合:

  • 使用MyISAM:節約空間及相應速度
  • 使用InnoDB:安全性,事務處理及多使用者操作資料表

資料表的存儲位置 :

MySQL資料表以檔案方式存放在磁盤中

包括表檔案 , 資料檔案 , 以及資料庫的選項檔案

位置 : Mysql安裝目錄\data\下存放資料表 . 目錄名對應資料庫名 , 該目錄下檔案名對應資料表 .

注意 :

InnoDB類型資料表隻有一個 *.frm檔案 , 以及上一級目錄的ibdata1檔案

MyISAM類型資料表對應三個檔案 :

  • . frm – 表結構定義檔案
  • . MYD – 資料檔案(data)
  • . MYI – 索引檔案(index)

繼續閱讀