zoukankan      html  css  js  c++  java
  • 数据库Mysql的学习(三)-各种约束

    删除数据库表

    drop table [if exists] 表一,表二.....;

    表分区:比如图书信息表有1000万个图书信息,如何优化他,其中一种方式就是表分区。就是把一张表的数据分成多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上。

     基本操作如下:

    先创建bookinfo的表,然后分区“partition by range(xx)”就是通过xx来分区。

    里面分了三个区,p1,p2,p3.分别为20109999之前,20159999之前,和其他。

    向表中插入数据“insert into xx values(xx,'xx')”

    查看每个分区的内容"select * from xx partition(xx)"

    主键的概念:

    表中的每一行都应该具有可以唯一标识自己的一列(或一组列)。而这个承担标识作用的列称为主键
    如果没有主键,数据的管理将会十分混乱。比如会存在多条一模一样的记录,删除和修改特定行十分困难。

    外键

    通俗的说就是两个表相关联,连接这俩表的那个字段就是外键

    约束

    通过对表的行和列的数据做出限制,来确保数据的完整性和唯一性。

    一般有非空约束,主键约束,唯一约束,默认约束,外键约束。

    比如图书编号和类别编号就要主键约束,类别编号就要外键约束,书名非空约束和唯一约束。

    非空约束

    表的创建默认为空(NULL),设为非空约束后,如果在添加数据时,没有指定值,则会报错。

    在创建是设置。

    也可以通过修改表的方法来来添加发非空约束。

    这样插入数据就会报错

    可以通过修改数据类型来改变约束

    主键约束

    要求主键列的数据唯一,并且不为空,能够唯一标识表的一条记录。

    一张表最多一个主键约束

    第一种创建 列名后加primary key

    或者指定constraint xx primary key(xx)pk_id是自己定义的主键名称。

    通过修改也可以添加主键

    1.alter table bookinfo2 add primary key(book_id);

    2.alter table bookinfo2 modify book_id int primary key;

    3.alter table bookinfo2 add constraint pk_id primary key(book_id);

    删除主键

    直接alter table bookinfo2 drop primary key;

    也可以有多字段联合主键或叫复合主键

    create table bookinfo2(
    book_id int,
    book_name char(20),
    primary key(book_id,book_name)
    );

    唯一约束

    方法和前面一样  可以直接在列名后 加上unique 或者constraint uk_banme unique(xx)

    修改添加的话

     默认约束

     

    外键约束

     

  • 相关阅读:
    Java Web项目开发中常见路径获取方法
    Genymotion模拟器连接不上开发服务器解决办法
    百度鹰眼轨迹管理台部署到本地或者服务器上
    解决Hibernate4执行update操作,不更新数据的问题
    后台发送http请求通用方法,包括get和post
    Java后端发出post请求带参数并接收返回的json
    $.ajax()方法详解
    常见异常及解决办法
    jQuery通过地址获取经纬度demo
    python 导入模块与使用
  • 原文地址:https://www.cnblogs.com/wpbing/p/9193367.html
Copyright © 2011-2022 走看看