zoukankan      html  css  js  c++  java
  • mysql基础教程(三)-----增删改、子查询、创建管理表、约束和分页

    插入

    INSERT语句语法

    从其它表中拷贝数据

    • 不必书写 VALUES 子句。

    • 子查询中的值列表应与 INSERT 子句中的列名对应

    update语句

    • 可以一次更新多条数据。

    • 如果需要回滚数据,需要保证在DML前,进行 设置:

    SET AUTOCOMMIT = FALSE;

    因为mysql中默认事务是自动提交的。

    delete语句 

    子查询

    概念 

    出现在其他语句内部的select语句,称为子查询或内查询内部嵌套其他select语句的查询,称为外查询或主查询。

    select first_name from employees where
    department_id in(
      select department_id from departments
      where location_id=1700
    )

    创建数据库

    创建一个保存员工信息的数据库 :

    create database employees;

    相关其他命令

    create database employees if not exists;
    show databases;查看当前所有数据库
    use employees;“使用”一个数据库,使其作为当前数据库

    创建表

    • 必须具备:

      – CREATE TABLE权限

      – 存储空间

    • 必须指定:

      – 表名

      – 列名, 数据类型, 尺寸 

    语法

    注:创建表这种更加合理

    create table if not exists tableName...

    数据类型

    概述

    mysql数据类型分为

    • 数值类型
    • 字符类型
    • 日期类型

    数值类型

    整型

    小数

    位类型

    字符类型

    char和varchar类型

    binary和varbinary类型

    说明:类似于char和varchar,不同的是它们包含二进制字符串而不包含非二 进制字符串。

    Enum类型

    说明:又称为枚举类型哦,要求插入的值必须属于列表中指定的值之一。

    Set类型

    说明:和Enum类型类似,里面可以保存0~64个成员。和Enum类型最大的区 别是:SET类型一次可以选取多个成员,而Enum只能选一个 根据成员个数不同,存储所占的字节也不同

    日期类型

    常用数据类型

    创建表示例

    ALTER TABLE 语句

    • 向已有的表中添加
    • 修改现有表中的列
    • 删除现有表中的列
    • 重命名现有表中的列 

    增加一个列 

    ALTER TABLE dept80 ADD job_id varchar(15);

    修改一个列

     • 可以修改列的数据类型, 尺寸和默认值

    • 对默认值的修改只影响今后对表的修改

    删除一个列 

    重命名一个列

    总结:alter table 表名 add|drop|modify|change column 列名 【列类型 约束】

    删除表

    • 数据和结构都被删除
    • 所有正在运行的相关事务被提交
    • 所有相关索引被删除
    • DROP TABLE 语句不能回滚 

    注:删除用下面这种相对更为合理

    drop table if exists tableName;

    清空表

    • TRUNCATE TABLE 语句:

      – 删除表中所有的数据

      – 释放表的存储空间 

      – TRUNCATE语句不能回滚

     

    约束 

    什么是约束 

    • 为了保证数据的一致性和完整性,SQL规范以约 束的方式对表数据进行额外的条件限制。

    • 约束是表级的强制规定

    • 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通 过 ALTER TABLE 语句) 

    类型 

    • – NOT NULL 非空约束,规定某个字段不能为空
    • – UNIQUE 唯一约束,规定某个字段在整个表中是唯一的
    • – PRIMARY KEY 主键(非空且唯一)
    • – FOREIGN KEY 外键
    • – CHECK 检查约束(mysql不支持)
    • – DEFAULT 默认值 

    NOT NULL 约束 

    保证列值不能为空。

    创建 not null 约束:

    增加 not null 约束:

    取消 not null 约束:

    取消 not null 约束,增加默认值:

    UNIQUE 约束

    同一个表可以有多个唯一约束,多个列组合的约束。 在创建唯一约束的时候,如果不给唯一约束名称,就 默认和列名相同。MySQL会给唯一约束的列上默认创建一个唯一索引。 

    添加唯一约束 

    删除约束

    PRIMARY KEY 约束

    • 主键约束相当于唯一约束+非空约束的组合,主 键约束列不允许重复,也不允许出现空值
    • 如果是多列组合的主键约束,那么这些列都不允 许为空值,并且组合的值不允许重复。
    • 每个表最多只允许一个主键,建立主键约束可以 在列级别创建,也可以在表级别上创建。
    • MySQL的主键名总是PRIMARY,当创建主键约束 时,系统默认会在所在的列和列组合上建立对应的 唯一索引。 

    删除主键约束 

    添加主键约束

    修改主键约束

    FOREIGN KEY 约束

    • 外键约束是保证一个或两个表之间的参照完整性, 外键是构建于一个表的两个字段或是两个表的两个字 段之间的参照关系。
    • 从表的外键值必须在主表中能找到或者为空。当主 表的记录被从表参照时,主表的记录将不允许删除, 如果要删除数据,需要先删除从表中依赖该记录的数 据,然后才可以删除主表的数据。
    • 还有一种就是级联删除子表数据。
    • 注意:外键约束的参照列,在主表中引用的只能是 主键或唯一键约束的列
    • 同一个表可以有多个外键约束 

    创建外键约束: 

    创建多列外键组合,必须使用表级约束:

    删除外键约束:

    增加外键约束:

    分页

    分页原理

    所谓分页显示,就是将数据库中的结果集,一段一段显示 出来需要的条件 

    前10条记录:

    SELECT * FROM table LIMIT 0,10;

    第11至20条记录:

    SELECT * FROM table LIMIT 10,10;

    公式:

    (当前页数-1)*每页条数,每页条数 

    SELECT * FROM table LIMIT(PageNo - 1)*PageSize,PageSize;

    注:limit子句必须放在整个查询语句的最后!

  • 相关阅读:
    closure
    运算符优先级
    css妙用
    BFC (块级格式化上下文)
    display:table-cell 详解
    line-height深入理解
    margin collapse
    探究 CSS 解析原理
    python入门
    spring与线程安全
  • 原文地址:https://www.cnblogs.com/alimayun/p/11062241.html
Copyright © 2011-2022 走看看