zoukankan      html  css  js  c++  java
  • MySQL的sql语言分类DML、DQL、DDL、DCL、

    SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL  

    1.数据定义语言DDL(Data Definition Language)

      对象: 数据库和表

      关键词: create alter drop truncate(删除当前表再新建一个一模一样的表结构)

      创建数据库:create database school;

      删除数据库:drop database school;

      切换数据库:use school;

      创建表:create table student(

          id int(4) primary key auto_increment,

          name varchar(20),

          score int(3)

        );

      查看数据库里存在的表:show tables;

      注意:

        varchar类型的长度是可变的,创建表时指定了最大长度,定义时,其最大值可以取0-65535之间的任意值,但记录在这个范围内,使用多少分配多少,

    varchar类型实际占用空间为字符串的实际长度加1。这样,可有效节约系统空间。varchar是mysql的特有的数据类型。

        char类型的长度是固定的,在创建表时就指定了,其长度可以是0-255之间的任意值。虽然char占用的空间比较大,但它的处理速度快。

      修改表:alter table student rename (to) teacher;

          alter table student add password varchar(20);

          alter table student change password pwd varchar(20);

          alter table student modify pwd int;

          alter table student drop pwd;

      删除表:drop table student;

      查看生成表的sql语句:show create table student;

      查看表结构:desc student;

    2.数据操纵语言DML(Data Manipulation Language)   

      对象:纪录(行)

      关键词:insert update delete

      插入:insert into student values(01,'tonbby',99); (插入所有的字段)

         insert into student(id,name) values(01,'tonbby'); (插入指定的字段)

      更新:update student set name = 'tonbby',score = '99' where id = 01;

      删除:delete from tonbby where id = 01;

      注意:

         开发中很少使用delete,删除有物理删除和逻辑删除,其中逻辑删除可以通过给表添加一个字段(isDel),若值为1,代表删除;若值为0,代表没有删除。

         此时,对数据的删除操作就变成了update操作了。

      truncate和delete的区别:

        truncate是删除表,再重新创建这个表。属于DDL,delete是一条一条删除表中的数据,属于DML。

    3.数据查询语言DQL(Data Query Language)

      select ... from student where 条件 group by 分组字段 having 条件 order by 排序字段

      执行顺序:from->where->group by->having->order by->select

      注意:group by 通常和聚合函数(avg(),count()...)一起使用 ,经常先使用group by关键字进行分组,然后再进行集合运算。

         group by与having 一起使用,可以限制输出的结果,只有满足条件表达式的结果才会显示。

      having和where的区别:

        两者起作用的地方不一样,where作用于表或视图,是表和视图的查询条件。having作用于分组后的记录,用于选择满足条件的组。

    4.数据控制语言DCL(Data Control Language)  

      数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视,用户,权限,事务等。

      grant:授权,rollback:回滚。commit:提交。

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 数字黑洞
    Minifilter微过滤框架:框架介绍以及驱动层和应用层的通讯
  • 原文地址:https://www.cnblogs.com/lyfstorm/p/11373100.html
Copyright © 2011-2022 走看看