1. 程式人生 > >MySql 學習(一)

MySql 學習(一)

假設 ODB utf8 tin auto 一個 數據結構 for ces

入門使用

  1 show databases;
  2 
  3 //假設存在seckill 數據庫
  4 use seckill;
  5 
  6 //查看所有表
  7 show tables;
  8 
  9 //查看某個表的字段,例如存在 student 表
 10 desc  student;
 11 
 12 //查看student 數據
 13 selet * from student
 14 
 15 //接下來就可以對這個數據庫(seckill)作各種操作了,select 啊,update ...%&*$^$^ 巴拉巴拉的

創建表格

  1 //指定主鍵
  2 create table permission (
  3
permission_id int(11) NOT NULL AUTO_INCREMENT, 4 available int NOT NULL, 5 description char(20) NULL, 6 permission int(20) NOT NULL, 7 url char(20) NOT NULL, 8 PRIMARY KEY(permission_id) 9 )ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
  1 //指定外鍵
  2 create table role_permission (
  3
role_id int(11) not null , 4 permission_id int(11) not null , 5 foreign key(permission_id) references permission(permission_id), 6 foreign key(role_id) references sys_role(role_id) 7 )ENGINE = InnoDB DEFAULT CHARSET=utf8 ; 8

數據結構

(1)串數據類型(如名字,地址,電話號碼,郵政編碼等)

分為定長串和變長串,CHAR : 定長, TEXT : 變長 ,MySQL處理定長數據快於處理變長數據,此外,MySQL不允許對變長列(或一個列的可變部分)進行索引,這也會極大地影響性能。

  • CHAR: 1~255 個字符的定長字符串,未指定為CHAR(1)
  • VARCHAR : 變長字符串,最多不超過255字節
  • TEXT : 最大長度為 64字節的變長文本
  • TINGTEXT : 與TEXT相同,最大長度為255字節

(2)數字數據類型

所有數據類型都有有符號和無符號之分(除BIT 和 BOOLEAN), 默認為有符號(即是可以表示負數),若是不想表示負數,可以使用UNSIGNED關鍵字。

  • BIT : 1~64 位,位字段
  • BOOLEAN : 布爾值
  • DECIMAL : 精度可變的浮點值
  • DOUBLE
  • FLOAT
  • INT
  • REAL
  • SMALLINT
  • TINYINT
  • MEDIUMINT

(3)時間和日期數據類型

  • DATE : 格式為 YYYY-MM-DD ,例如:2018-08-06
  • DATETIME :
  • TIMESTAMP
  • TIME :格式為HH:MM:SS技術分享圖片
  • YEAR : 用4位數字表示,範圍是 1901~2155年

MySql 學習(一)