Mysql基本用法(二)

版权声明:秉承开源精神,博主博文可以随机转载,但请注明出处! https://blog.csdn.net/zisefeizhu/article/details/81911559

   本篇是系列性,由浅入深,主要是为了本人日后回看时再学习,如果道友对Mysql也是零基础的话,强烈建议从头开始看

Mysql基本用法(一)

   本篇是系列性,由浅入深,主要是为了本人日后回看时再学习,如果道友对Mysql也是零基础的话,强烈建议从头开始看

MySQL基础用法(一)

            
    SQL:ANSI SQL标准
        SQL-86,SQL-89,SQL-92,SQL-99,SQL-03
        
    MySQL  数据类型:
        字符型
        数值型
        日期时间型
        内建类型
        
        字符型:
            CHAR(255个字符), BINARY: 定长数据类型;
            VARCHAR(6W多个字符), VARBINARY: 变长数据类型;需要结束符,结束符至少要占用一个空间
            TEXT:TINYTEXT(255),TEXT(6w多),MEDIUMIEXT(1k多),LONGTEXT(4亿多)
                    以2进制来标志 2的几次方
            BLOB:    TINYTBLOB,BLOB,MEDIUMBLOB,LONGBLOB
            ENUM,SET
        数值型:
            精确数值型
                整型:TINYINT,SMALINIT,MEDIUMINT,BIGINT
                十进制型:DECIMAL
            近似数值型
                浮点型数据:
                    FLOAT
                    DOUBLE
                BIT
        日期时间型:
            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_INCREMENT:
                UNSIGNED
                PRIMARY KEY|UNIQUE KEY
                NOT NULL
                
                mysql> SELECT LAST_INSERT_ID();
        日期时间类型修饰符:
            NOT NULL
            NULL
            DEFAULT
            
        内建类型SET和ENUM的修饰符:
            NOT NULL
            NULL
            DEFAULT
        
    SQL MODE:定义mysqld对约束等的响应行为:
        修改方式:
            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:TRADITIONAL,STRICT_TRANS_TABLES,or STRICT_ALL_TABLES
    SQL:DDL,DML
        DDL:数据定义语言;
            CREATE,ALTER,DROP
            
            DB组件:数据库,表,索引,视图,用户,存储过程,存储函数,触发器,事件调度器等
            CREATE相关的常用命令
                mysql> help create
        DML:数据操作语言:
            INSERT,DELETE,UPDATE,SELECT
        
        数据库:
            CREATE,ALTER,DROP
                {DATABASE|SCHEMA}
                [IF EXISTS]
                [IF NOT EXISTS]
            
        表:二维关系
            设计表:遵循规范用法;
            
            定义:字段,索引
                字段:字段名,字段数据类型,修饰符。不区别大小写,但自己使用时尽量区分
                约束:索引,应该创建在经常用作查询条件的字段上;
                    索引:实现级别在存储引擎;
                        分类:
                            稠密索引,稀疏索引
                            B+索引,hash索引,R数索引,FULLTEXT索引
                            聚集索引(按主键),非聚集索引(按指针),
                            简单索引(索引在一个字段),组合索引(索引在多个字段)
            创建表:CREATE TABLE
                mysql> HELP CREATE TABLE
                (1)直接创建;
                (2)通过查询现存的表创建;新表会被直接插入查询而来的数据
                (3)通过复制现存的表的结构创建,只复制表,不复制数据
                        
                注意:Storage Englne是指表类型,也即在表创建时指明其使用的存储引擎;
                        同一个库中表要使用同一种存储引擎类型。
                    
                查看表结构:
                    DESCRIBE tabl_name;
                查看表状态信息:
                    SHOW [FULL] TABLES [{FROM | IN} db_name] [LIKE 'pattern' |WHERE exor ]
                    例子:show table status like 't1' \G
                
                修改表:ALTER TABLE
                删除表:DROP TABLE

猜你喜欢

转载自blog.csdn.net/zisefeizhu/article/details/81911559
今日推荐