ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql常用方法、约束

2022-01-22 23:01:11  阅读:127  来源: 互联网

标签:常用 删除 表中 约束 key mysql table 主键


快速创建表?【了解内容】

    mysql> create table emp2 as select * from emp;

将查询结果插入到一张表当中?insert相关的!!!【了解内容】
    create table dept_bak as select * from dept;

快速删除表中的数据?【truncate比较重要,必须掌握】

    //删除dept_bak表中的数据
    delete from dept_bak; //这种删除数据的方式比较慢。

    mysql> select * from dept_bak;
    Empty set (0.00 sec)

    delete语句删除数据的原理?(delete属于DML语句!!!)
        表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!!!
        这种删除缺点是:删除效率比较低。
        这种删除优点是:支持回滚,后悔了可以再恢复数据!!!
    
    truncate语句删除数据的原理?
        这种删除效率比较高,表被一次截断,物理删除。
        这种删除缺点:不支持回滚。
        这种删除优点:快速。

    用法:truncate table dept_bak; (这种操作属于DDL操作。)

    大表非常大,上亿条记录????
        删除的时候,使用delete,也许需要执行1个小时才能删除完!效率较低。
        可以选择使用truncate删除表中的数据。只需要不到1秒钟的时间就删除结束。效率较高。
        但是使用truncate之前,必须仔细询问客户是否真的要删除,并警告删除之后不可恢复!

        truncate是删除表中的数据,表还在!
    
    删除表操作?
        drop table 表名; // 这不是删除表中的数据,这是把表删除。

6、对表结构的增删改?
    
    什么是对表结构的修改?
        添加一个字段,删除一个字段,修改一个字段!!!
    
    对表结构的修改需要使用:alter
    属于DDL语句

    DDL包括:create drop alter
    
    第一:在实际的开发中,需求一旦确定之后,表一旦设计好之后,很少的
    进行表结构的修改。因为开发进行中的时候,修改表结构,成本比较高。
    修改表的结构,对应的java代码就需要进行大量的修改。成本是比较高的。
    这个责任应该由设计人员来承担!

    第二:由于修改表结构的操作很少,所以我们不需要掌握,如果有一天
    真的要修改表结构,你可以使用工具!!!!

    修改表结构的操作是不需要写到java程序中的。实际上也不是java程序员的范畴。

7、约束(非常重要,五颗星*****)

7.1、什么是约束?
    约束对应的英语单词:constraint
    在创建表的时候,我们可以给表中的字段加上一些约束,来保证这个表中数据的
    完整性、有效性!!!

    约束的作用就是为了保证:表中的数据有效!!

7.2、约束包括哪些?
    非空约束:not null
    唯一性约束: unique
    主键约束: primary key (简称PK)
    外键约束:foreign key(简称FK)
    检查约束:check(mysql不支持,oracle支持)

    我们这里重点学习四个约束:
        not null
        unique
        primary key
        foreign key

7.3、非空约束:not null

    非空约束not null约束的字段不能为NULL。
    drop table if exists t_vip;
    create table t_vip(
        id int,
        name varchar(255) not null  // not null只有列级约束,没有表级约束!
    );

唯一性约束: unique

drop table if exists t_vip;
    create table t_vip(
        id int,
        name varchar(255) unique,
        email varchar(255)
    );

unique(name,email) // 约束没有添加在列的后面,这种约束被称为表级约束。

在mysql当中,如果一个字段同时被not null和unique约束的话,
        该字段自动变成主键字段。

7.5、主键约束(primary key,简称PK)非常重要五颗星*****

    主键约束的相关术语?
        主键约束:就是一种约束。
        主键字段:该字段上添加了主键约束,这样的字段叫做:主键字段
        主键值:主键字段中的每一个值都叫做:主键值。
    
    什么是主键?有啥用?
        主键值是每一行记录的唯一标识。
        主键值是每一行记录的身份证号!!!
    
    记住:任何一张表都应该有主键,没有主键,表无效!!

    主键的特征:not null + unique(主键值不能是NULL,同时也不能重复!)

    怎么给一张表添加主键约束呢?
        drop table if exists t_vip;
        // 1个字段做主键,叫做:单一主键
        create table t_vip(
            id int primary key,  //列级约束
            name varchar(255)
        );


            primary key(id)  // 表级约束

外键约束

create table t_class(

classno int primary key,

classname varchar(255)

);

create table t_student(

no int primary key auto_increment,

name varchar(255),

cno int ,

foreign key (cno) references t_class(classno)

);

标签:常用,删除,表中,约束,key,mysql,table,主键
来源: https://blog.csdn.net/qq_37753562/article/details/122645086

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有