• 新手上路教程1_DML语言


    MySQL的语言--------1

    数据库的模式定义

    类似权限管理关系,每个模式下面都是各自管着自己的数据库,别人都是看不见的

    1. 创建sql 模式 ,就是定义了一个存储空间,
    create schema <模式名>authorization<用户名>
    如果没有指定模式名,那么模式名隐含为用户名
    
    cascade 和 restrict 两者必选其一:
    1. cascade 级联: 删除模式,连里面所有的数据库对象全部删除
    2. restrict 限制: 表数如果该模式中已经定义了下属的数据库对象,则拒绝该删除语句的执行,只有当里面为空时,才可以删除该模式
    
    drop schema zhang cascade;
    
    1. 在SQLserver 和MySQL对于schema 的定义都是不一样的,虽然现在大多数,都是再用MySQL和oracle 但是还是要明白这个区别
      1. 在SQLserver 中:
        • Schema 中能够包含数据库的表,字段,数据类型以及主键和外键的名称
      2. 在mysql 中:
        • 定义一个Schema 和定义一个数据库的作用相同

    1. DML语言

    负责对数据库对象运行数据访问工作的指令集,以INSERT,UPDATE,DELETE 三种指令为核心,插入、更新与删除

    1. 插入INSERT

    1. 方式一 :

      1. 语法 :

        insert into 表名(字段名....)values(值....);
        
      2. 特点:

        • 要求值的类型和字段的类型要一致或兼容
        • 字段的个数和顺序不一定与原始表中的字段个数和顺序一致但必须保证值和字段一一对应
        • 假如表中有可有为空的字段,注意可以通过下面两种方式插入null 值
          • 字段和值都省略
          • 字段写上,值使用null
        • 字段和值的个数必需一致
        • 字段名可以省略,默认所有列
    2. 方式二

      1. 语法
      insert into 表名 set 字段=值,字段=值
      
    3. 两种方式的区别:

    4. 方式一支持一次插入多行,语法如下:

      insert into 表名[(字段名...)]values(值...)(值...)
      
    5. 方式一支持子查询 ,语法如下:

      insert into 表名
      查询语句;
      

    2. 修改UPDATE

    1. 修改单表的记录

      1. 语法
        update 表名 set 字段=值,字段=值 
        where 
        筛选条件;
      
    2. 修改多表的记录

      1. 语法

        update 表1 别名
        left|right|inner join 表2 别名
        on 连接条件
        set 字段=值,字段=值
        where
        筛选条件;
        

    3. 删除DELETE

    主要: 删除表中的数据和删除表是不一样的命令,而删除表和数据库都是drop命令

    1. 方式一: 使用delete

      1. 删除单表的记录

        1. 语法

          delete from 表名 
          where 筛选条件
          limit 条目数
          
      2. 级联删除

        1. 语法

          delete 别名1,别名2
          from 表1 别名
          inner|left|right join 表2 别名
          on 连接条件
          where 筛选条件
          
    2. 方式二:使用truncate

      1. 语法

        truncate table 表名
        
    3. 两种方式的区别:

      1. truncate 删除后,如果再插入,标识列从1开始,delete删除后,如果再插入,标识列从断点开始
      2. delete 可以添加删除条件,truncate不可以添加删除条件
      3. truncate 效率更高
      4. truncate没有返回值,delete可以返回受影响的行数
      5. truncate 不可以回滚,delete可以回滚
  • 相关阅读:
    常见业务指标
    1006 换个格式输出整数 (Python)
    1004 成绩排名 (Python)
    1003 我要通过! (Python)
    1008 数组元素循环右移问题 (Python)
    如何使用SSH秘钥链接Github
    在windows下如何正确安装curses模块
    面向数据结构C基础知识点(个人向)
    用Python实现链式调用
    python重点串讲
  • 原文地址:https://www.cnblogs.com/YJBlog/p/10659718.html
Copyright © 2020-2023  润新知