国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > 文庫 > 正文

數據表類型

2024-09-07 22:12:50
字體:
來源:轉載
供稿:網友
  數據表類型
  一、 創建數據表
 
   CREATE TABLE IF NOT EXISTS user(
 
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 
  name VARCHAR(255) NOT NULL UNIQUE,
 
  Sex TINYINT  NOT NULL DEFUALT 1,
 
  age TINYINT  NOT NULL DEFAULT 0
 
  )ENGINE = MyISAM DEFAULT CHARSET=utf8;
 
  CREATE  TABLE  IF NOT EXISTS 表名稱(
 
    字段名1  類型(長度) 屬性  索引,
 
  字段名2  類型(長度) 屬性  索引,
 
  字段名3  類型(長度) 屬性  索引,
 
  字段名4  類型(長度) 屬性  索引,
 
  字段名5  類型(長度) 屬性  索引,
 
  ...
 
  字段名N  類型(長度) 屬性  索引,
 
  ) ENGINE =MyISAM  DEFAULT  CHARSET =utf8;
 
  html  設置字符集  utf-8
 
  mysql 設置字符集  utf8
 
   二、 mysql 數據類型
 
     1. 整數類型(重點重點重點)
 
  整數類型
 
  字節數
 
  無符號范圍
 
  有符號范圍
 
  TINYINT(微整型)
 
  1
 
  +0 - +255
 
  -128- +127
 
  SMALLINT(小整型)
 
  2
 
    0-65535
 
  -32768-32767
 
  MEDIUMINT(中整型)
 
  3
 
  0-16777215
 
   -8388608-8388607
 
  INT(整型)
 
  4
 
   0-4294967295
 
  -2147483648-2147483647
 
  BIGINT(大整型)
 
  8
 
  0-188446744073709551615
 
 
  mysql 支持的數據類型后面指定該類型的寬度, 基本形式如下:
 
  數據類型(顯示寬度)
 
  默認顯示寬度: 可以理解為 一個整數類型的默認寬度正好能顯示該數據類型的所有值的寬度  默認長度其實是當前位數減一 為什么要減一 是因為第一位是我們的符號位
 
   n1    | tinyint(4)
 
   n2    | smallint(6)
 
   n3    | mediumint(9)
 
   n4    | int(11)
 
   n5    | bigint(20)
 
   在整數類型使用是 可以配置zerofill 參數 zerofill 表示數字不足的顯示空間由0來填充補全
 
  出現下面報錯的原因是
 
  Out of range value for column 'n1' at row 1
 
  你的長度超出了范圍
 
  注意:
 
  使用zerofill是 mysql會自動加上unsigned(無符號)屬性 那么該整數類型只能表示無符號數  器顯示長度比默認顯示寬度小一
 
  在設置了顯示寬度時 如果插入的數據寬度大于設置的顯示寬度 數據依然可以插入  且能夠顯示  但是該設置的寬度失效
 
  數據的寬度不能大于默認寬度 如果大于默認寬度 那么該數據已經超出該類型的最大值 因為最大值的寬度必須小于等于默認寬度  如果一個值大于最大值 將不能插入
 
  -- 整數類型還有一個屬性 AUTO_INCREMENT 屬性    自增
 
  -- 自增屬性需要配合索引使用
 
  -- 如果出現下面報錯 請在你自增屬性后面加上你的索引內容
 
  -- ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
 
  -- key(index) 索引
 
  -- 普通索引(index)
 
  -- 唯一索引(unique)  唯一索引所有值不能有重復
 
  -- 主鍵索引primary key  一個數據表中只能有一個  唯一作用 一般設置都是自增字段
 
  zerofill 零填充
 
  unsigned   無符號
 
  auto_increment  自增
 
  只能修飾整數類型
 
   2. 浮點數和定點數
 
   mysql 中使用浮點數和定點數來表示小數
 
  浮點數: 單精度浮點數(float) 和雙精度浮點數(double)
 
  定點數: DECIMAL
 
  定點數在存儲空間 是根據精度來決定的
 
  mysql中可以指定浮點數的精度: 數據類型(M,D)
 
  M 精度   是數據的總長度  小數點不占位
 
  D  標度   小數點后的長度
 
  在存儲小數的時候 建議使用decimal類型 定點數以字符串形式存儲 因此精度要比浮點數更高  而且浮點數容易出現誤差 這是浮點數一直存在的問題 如果對數據的精度要求很高 還是選擇定點數比較安全
 
  如果標度超出位數那么他會進行四舍五入如果你的精度和標度一樣那么我們的整數位只能是零
 
   3. 時間
 
  -- 時間戳
 
  -- 2147483647
 
  INT 2147483647
 
  因為php可以有date函數  你想處理什么樣子都可以  所以我們使用時間戳來存儲我們php的時間
 
  4. 字符串類型
 
   字符串類型是mysql中用來存儲字符串的數據類型 字符串類型包含: VARCHAR  CHAR  TEXT  ENUM   SET
 
  CHAR 和VARCHAR
 
  字符串類型(M) M-- 該字符串的最大長度 M
 
   CHAR 定長的字符類型  0-255
 
  VARCHAR  變長的字符類型 5.0以前 0-255 5.0版本以后 0-65535
 
  char(5) 和 varchar(5)區別
 
   插入值      char 占用字數      varchar占用字數
 
    1   5  2
 
    123  5 4
 
  1234          5 5
 
    12345  5 6
 
  CHAR 定長字符類型   分配多少空間就占用多少空間 不計算需要的長度  處理數據速度快
 
  VARCHAR 變長字符類型   根據字符串的長度來分配空間  需要計算長度   處理數據速度稍慢
 
  什么時候用char  什么時候用varchar
 
  當你插入的數據長度一直不變的情況下 請使用char  密碼需要使用char
 
  當你插入的數據長度是隨時改變的情況下  使用varchar  用戶名需要使用varchar
 
    ENUM 類型  枚舉類型
 
  ENUM(‘值1,值2,值3,,,,,值n’)
 
  n--代表參數列表中的第n個值 n 65535
 
  ENUM 的值只能去列表中的一個元素
 
  1/65535
 
  SET 類型
 
  在創建表是 set類型的取值范圍是以列表的形式指定的
 
  set(‘值1,值2,值3,。。。值n’);
 
  set 類型的值最多只是64個元素 取值可以是一個或者多個 其他特性和enum類似
 
  1-64/64
 
  三 查看表結構
 
   DESC 表名 : 縮寫版
 
   DESCRIBE 表名
 
  查看建表語句
 
  SHOW CREATE TABLE 表名
 
  四 創建表
 
  1. 建表語法
 
  CREATE  TABLE  IF NOT EXISTS 表名稱(
 
    字段名1  類型(長度) 屬性  索引,
 
  字段名2  類型(長度) 屬性  索引,
 
  字段名3  類型(長度) 屬性  索引,
 
  字段名4  類型(長度) 屬性  索引,
 
  字段名5  類型(長度) 屬性  索引,
 
  ...
 
  字段名N  類型(長度) 屬性  索引,
 
  ) ENGINE =MyISAM  DEFAULT  CHARSET =utf8;
 
  a. 設置主鍵
 
  PRIMARY KEY
 
  字段名  數據類型  PRIMARY KEY
 
  b. 設置表的非空約束
 
   字段名  數據類型 NOT NULL
 
  不為空 只是不為null
 
  c. 設置表的唯一性
 
   字段名 數據類型 UNIQUE
 
  d. 設置表字段值的自增
 
     字段名 數據類型 AUTO_INCREMENT
 
  如果你設置自增就必須加上 索引 PRIMARY KEY
 
  e. 設置表的字段默認值
 
  字段名 數據類型 DEFAULT 默認值
 
  f. 設置字段的數字類型 不能為負數
 
  字段名 數據類型 UNSIGNED
 
  g. 建表引擎
 
   MyISAM
 
   InnoDB
 
  MyISAM 與 InnoDB 的區別
 
  myisam  讀取速度快  不支持事務
 
  InnoDB  讀取速度稍慢  支持事務   事務回滾

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨脱县| 区。| 从化市| 万载县| 海口市| 江西省| 余庆县| 平果县| 社旗县| 克拉玛依市| 青海省| 怀宁县| 柞水县| 山西省| 开平市| 蒙山县| 慈利县| 长岛县| 西平县| 辽阳市| 鄂伦春自治旗| 南部县| 玉龙| 乃东县| 安龙县| 乌海市| 湟源县| 长子县| 巴林左旗| 聂荣县| 龙南县| 剑河县| 夏河县| 图木舒克市| 辉南县| 七台河市| 博客| 咸丰县| 新余市| 北京市| 团风县|