zoukankan      html  css  js  c++  java
  • mysql

    mysql貌似版本变化很大。。。跟着4月的教程视频尝试,结果很多都和视频上说的不一样

    1.六大约束

    not null           非空

    default            默认值

    primary key    主键

    unique            唯一

    check             (网上说mysql中没有= =,然而我试了可以。。。) check(sex ='男' or sex='女') ,可以用逗号隔开放在列定义的后面单独定义,也可以在对应列后面用空格隔开。

    foreign key      外键,可以用逗号隔开放在列定义的后面单独定义,也可以在对应列后面用空格隔开。

    CREATE TABLE table1(
        t_id INT PRIMARY KEY,
        t_card_id INT UNIQUE NOT NULL,
        t_name VARCHAR(20) CHECK(t_name != 'aaa'),
        t_sex VARCHAR(1) DEFAULT '',
        t_account_id VARCHAR(20) REFERENCES userinfo(uid) #在对应列后面定义外键,视频上说也可以
        #网上说用t_account_id VARCHAR(20) FOREIGN KEY REFERENCES userinfo(uid) 试了不行- -估计版本问题
    );
    CREATE TABLE table1(
        t_id INT PRIMARY KEY, #如果两个primary key 则表示两个组合起来是主键
        t_card_id INT UNIQUE NOT NULL, #假如可以为null,unique中可以插入两个null值,有的教程说不可以两个null会提示重复= =
        t_name VARCHAR(20) CHECK(t_name != 'aaa'),
        t_sex VARCHAR(1) DEFAULT '',
        t_account_id VARCHAR(20),  #外键,CONSTRAINT fk_table1_userinfo FOREIGN KEY (t_account_id) REFERENCES userinfo(uid) #在后面单独定义外键
    );

    两个null值的属性在关联查询时不会判定相等。

    SHOW INDEX FROM 表名

    查看索引,主键和外键会自动生成索引。

    修改列约束:直接用modify修改字段就可以   比如添加唯一约束  alter table 表名 modify column 列名 int unique     

    修改表约束:alter tbale 表名 add contraint    比如添加唯一约束  alter table 表名 add constraint 【约束名】 unique(列名)

    2.自增长

    auto_increment

    CREATE TABLE table4(
        t_id INT PRIMARY KEY AUTO_INCREMENT,
        t_card_id INT REFERENCES table2(t_card_id)
    )AUTO_INCREMENT = 0;   #可以通过这种方式修改初始值,不然默认从1开始, 每个表只能有一个自增列,类型只能是数值型
  • 相关阅读:
    转载—javascript 设计模式 文章很长,请自备瓜子,水果和眼药水
    js 中call()方法的使用
    上传、下载
    steps1>Struct2配置文件
    页面刷新
    steps1>Struct2控制器组件
    steps1>Struct2概述
    steps1>Struct2基本流程
    steps1>Struct2struts.xml
    steps1>Struct2web.xml
  • 原文地址:https://www.cnblogs.com/clamp7724/p/11790993.html
Copyright © 2011-2022 走看看