数据库mysql的学习(三)

wpbing 2018-06-17 原文

数据库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)

修改添加的话

 

 默认约束

 

 

外键约束

 

 

 

posted on 2018-06-17 17:57 两千个秘密 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为wpbing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wpbing/p/9193367.html

数据库mysql的学习(三)的更多相关文章

  1. linux下安装xtrabackup

    linux下安装xtrabackup 下载需要的版本的xtrabackup软件包,链接如下: https:// […]...

  2. MySQL巩固学习记录(一)

    mysql下载安装 一、采用图形化界面安装 (初期只安装server服务端就可以了,别的不多赘述) 二、采用压 […]...

  3. mysql的学习(七)-自定义函数和流程控制

    mysql的学习(七)-自定义函数和流程控制 DELIMITER // (设置结束符 其实我也不太明白为啥要这 […]...

  4. 对于MySQL远程连接中出现的一个问题总结

    2021年9月3日更新补充 (真的心累,本来是个小问题,但是网上帖子都基本差不多,基本都是相同的操作,导致搜了 […]...

  5. Mysql Insert buffer

    Mysql Insert buffer   在InnoDB中,主键是行的唯一标识符,因此插入聚集索引(prim […]...

  6. MySQL表的操作02

    【1】设置非空约束(NOT NULL ,NK)--->>>目的是f防止某些字段中的内容为空 […]...

  7. MySql学习

    Mysql JavaEE:企业级Java开发 Web 前端(页面:展示,数据!) 后台 (连接点:连接数据库J […]...

  8. MySql学习 (一) —— 基本数据库操作语句、三大列类型

    注:该MySql系列博客仅为个人学习笔记。   在使用MySql的时候,基本都是用图形化工具,如navicat […]...

随机推荐

  1. 如何实现内核旁路(Kernel bypass)?

    转到 :http://blog.jobbole.com/94976/ 在前两篇文章中,我们讨论了《如何生成每秒 […]...

  2. MySQL系列详解十:MySQL多源复制演示-技术流ken

      前言 多源复制即多主一从结构,多个主服务器端的数据都会同步到后端一个从服务器上面。至于为什么要做多源复制下 […]...

  3. 软件设计模式学习(二十二)备忘录模式

    备忘录模式提供了一种对象状态的撤销实现机制,当系统中某一对象需要恢复到某一历史状态时可以使用备忘录模式来进行设 […]...

  4. 汇编程序开发环境搭配

    引子 由于这些日子一直都在研究底层的技术,从 Windows 驱动程序,到 Windows 内核等等技术的学习 […]...

  5. 检测Android手机的IP地址

    package com.jason.demo.androidip; import android.conten […]...

  6. 笑出腹肌的程序猿搞笑趣图

    客户需求 vs 最终产品 requirements vs. implementation 程序员的一天 The […]...

  7. 移动网站性能优化(未完。。。)

    移动网站天生有三种性能限制:带宽低,内存小,处理器性能低。 这些性能挑战又加上其他的问题,如: 网页比以前更大 […]...

  8. 二进制妙用之循环计数

    二进制妙用之循环计数 1. 什么是循环计数 从0到n之间循环依次取数,假设 n=3,那么我需要的如下数据 0, […]...

展开目录

目录导航