MySQL数据类型

MySQL数据类型:

  字符型

  数值型

  日期时间型

  內建类型

字符型:char,  binary:定长数据类型;

    varchar,  varbinary:变长数据类型;  需要结束符(占据至少一个字节的空间)

    text: tinytest,  text,  mediumtext,  longtext                    (字符个数)

    blob:  tinyblob,  blob,  mediumblob, longblob

    enum,  set

数值型:

  精确数值型:

    整型:tinyint, smallint, mediumint,  int,  bigint    (28    216   224   232  264...

    十进制型: decimal

  近似数值型:

    浮点型:

      float

      double

日期时间型:

  date

  time

  datetime

  timestamp

  year(2), year(4)

 

字符类型修饰符:

  NOT NULL :非空约束;

  NULL:

  DEFAULT  'STRING': 指明默认值

  character set ' ' ; 使用的字符集

  collation: 使用的排序规则

  mysql> show character set;

  mysql> show collation;

整型数据修饰型:

  NOT NULL

  NULL

  DEFAULT NUMBER

  

  AUTO_INCTEMENT:

     unsigned

     primary key | unique key

     NOT NULL

     mysql> select last_insert_id();

日期时间修饰符:

  not null

  null

  default

内建类型setheenum的修饰符:

  not null

  null

  default

 

SQL mode: 定义mysql对约束上的响应行为:

  修改方式:

      mysql> set global sql_mode='mode';

      mysql> set @@global.sql_mode='mode';

      需要修改权限;仅对修改后新创建的会话有效,对已经建立的会话无效;

      mysql>set [session] sql_mode='MODE'

      mysql> set @@session.sql_mode='MODE'

  常用MODE: TEADITIONAL, STRICT_TRANS_TABLES, or STRICT_ALL_TABLES

 

SQL语句:DDL,  DML

  DDL:数据定义语言

    create, alter, drop

    DB组件:数据库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器等

    create相关的常用命令:

      CREATE DATABASE

      CREATE EVENT

      CREATE FUNCTION
      CREATE FUNCTION UDF
      CREATE INDEX
      CREATE LOGFILE GROUP
      CREATE PROCEDURE
      CREATE SERVER
      CREATE TABLE
      CREATE TABLESPACE
      CREATE TRIGGER
      CREATE USER
      CREATE VIEW

  DML:数据操作语言

    insert, delete, update, select

  数据库相关操作:

    create, alter, drop

      {database|schema}

      {if exists}

      {if not exists}

  表:二维关系

    设计表:遵循规范

    定义:字段, 索引

      字段:字段名(列名),字段数据类型,修饰符

      约束:索引:应该创建在经常用作查询条件的字段上

         索引:实现级别在存储引擎;

          分类:稠密索引、稀疏索引

            B+索引、hash索引、R树索引、FULLTEXT索引

            聚集索引、非聚集索引

            简单索引、组合索引

    创建表:create table 

      (1)直接创建;

      (2)通过查询现存的表创建;新表会被直接插入查询而来的数据;

          CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

            [(create_definition,...)]
            [table_options]
            [partition_options]
            [IGNORE | REPLACE]
            [AS] query_expression

      (3)通过复制现存的表的表结构创建;(不复制数据)

          CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

            { LIKE old_tbl_name | (LIKE old_tbl_name) }

 

       注意:Storage Engine是指标类型,也即在表创建时指明其使用的存储引擎;

        同一个库中表要使用同一种存储引擎类型;

    查看表结构:

      describe tb1_name;

    查看表状态信息:

      show [full] tables [{from  |  in} db_name]  [like 'pattern'  |  where expr]                                例如:mysql> show table status like 't1' G

    修改表: alter table

    删除表: drop table

原文地址:https://www.cnblogs.com/new-journey/p/10442699.html