MySQL自用备忘录

创建数据库

    CREATE DATABASE `database` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

创建表

        CREATE TABLE  user2(
                id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(4)         NOT NULL DEFAULT '张三',
         pid INT  UNSIGNED NOT NULL CHECK(pid > 0),
        money     DECIMAL(6,2)          NOT NULL DEFAULT 0,

        FOREIGN KEY     fk_pid  (pid)           REFERENCES `user`(id) ON DELETE CASCADE,

          INDEX                 i_name  (name(1) DESC)

        )ENGINE=INNODB

解释:创建user表

               字段                    类型                                                             其他                            

                id              int  无符号                                            不为空    主键    自增

                name        varchar(最长4字)                                    不为空    默认‘张三’

                pid            int    无符号                                            不为空    检查必须大于0

                money      decimal(包括小数点后两位共6位)            不为空    默认0.00

                外键     pid命名位fk_pid         和user1表下的id关联user1下的id被删除对应user2下pid也被删除                             

               索引    name字段第一个字倒叙作引

UNSIGNED关键字:无符号,存在于各种int类型里,取消负数部分,例如tinyint不加无符号是-128到127,加上则存储编程0到255,在主键这里都是从1 开始计算不涉及负数部分,加上无符号可以增加1倍的存储量。

NOT NULL关键字:不为null。

PRIMARY KEY关键字:主键,MySQL必须有主键!

AUTO_INCREMENT关键字:自增。

VARCHAR(4):varchar是变长存储。括号内代表最长字符数,超出不报错,超出部分不被记录。

DECIMAL:一般用来计算金额的字符型,(6,2)代表最大存9999.99

FOREIGN KEY   命名(字段) REFERENCES `表名`(字段名)  ON DELETE CASCADE:

(UNIQUE)     INDEX    命名(字段名  [倒排]):普通索引或者唯一索引。mysql没有fulltext索引。上例varchar后边加了(1)

                                                                        实际工作中如果索引项前几个字符就能区分,那么给前几个字符建立索引就可以

ENGINE=INNODB:引擎主要分innodb和myisam.前者支持事务行锁表锁,后者只支持表锁。

方法

IF用法 : “SELECT  IF(money > 100000,  '真有钱',  '穷')  AS   isRich   FROM     user2    ”

FIND_IN_SET用法:例如article表type字段存储为    风景,宇宙,动物,人文   。

                               查找风景和人文类型的"SELECT    *    FROM    article    WHERE    type    FIND_IN_SET('风景','人文')

DATE_FORMAT用法 :"SELECT DATE_FORMAT(time,'%Y年%m月%d日') AS  date  FROM  user  WHERE  id > 300"



        

猜你喜欢

转载自blog.csdn.net/z772532526/article/details/80580682