zoukankan      html  css  js  c++  java
  • MYSQL数据库 增删改查基础语句

     
    **********************DDL 语句 *********************
     
    ( DDL 是数据定义语言的缩写,简单的说,就是对数据库内部的对象进行创建、删除、修改等操作的语言。)
    命令结束符,用“;”或“ g ”结束
    ********************** 数据库创建、查询、操作、删除 *********************
    : dbname 为所创建的数据库名称 , 以下皆是
    1 创建数据库
      语法: create database dbname;   
      创建成功提示: Query OK 、、、
      未成功(已存在): ERROR 、、、 database exists
    2 查询系统数据库
      语法: show databases
      Mysql 系统自动创建的 4 个数据库
      information_schema
      cluster
      mysql
      test
    3 操作数据库
      语法: use dbname ;
    4 查看数据库中创建的所有数据表
      语法: show tables;
    5 删除数据库
      语法: drop database dbname;
     
    表的创建、查看、删除、修改
     
    : "tablename" 表示表的名字 " , "column_name_" 表示列的名字 ( 比如:名字、姓名、年龄 ),"column_type_" 表示数据类型(比如 varchar(10) 、 date 、 int(2) ), constraints 是这个列的约束条件
    6 创建一张表
      语法: create table tablename(column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints,column_name_3 column_type_3 constraints)
    7 查看表
      语法: desc tablename;
      * 若需要更全面的表定义信息,可以使用: show create table tablename G;
    8 删除表
      语法: drop table tablename
    9 修改表
      ( 1 )修改某个表中某个列的某个数据类型
       语法: alter table tablename modify column_name newcolumn_type;
      ( 2 )增加表字段
       语法: alter table tablename add column newcolumn_name newcolumn_type;
      ( 3 )删除表字段
       语法: alter table tablename drop column column_name;
       (4) 字段改名
       语法: alter table tablename change column_name newcolumn_name column_type;( 将 column_type 更改,成为 newcolumn_type ,可同时更改字段类型 )
      ( 5 )修改字段排列顺序
       语法:
    ①    alter table tablename add newcolumn_name newcolumn_type after column_name;
    作用:将 newcolumn_name newcolumn_type 加在 column_name 后面。
    ②    alter table tablename modify column_name column_type first ;
    作用:将 newcolumn_name newcolumn_type 放在最前面。
      ( 6 )更改表名
       语法: alter table tablename rename newtablename;
     
    *********************DML 语句 *********************
     
    ( DML 操作是指对数据库中表记录的操作,主要包括表记录的插入、更新、删除和查询、是开发人员日常使用最频繁的操作)
    1 插入记录
       语法: insert into tablename(field1,field2, 、、、 ) values (values1,values2,values3 、、、 );
    * :逗号要小写,数据类型要对应
       作用:向表 tablename 中插入 values1,values2,values3 、、、,对应 field1,field2, 、、、的顺序。
       * 或者不用 tablename(field1,field2, 、、、 ) ,但是后面的 values1,values2,values3 、、、必须与字段的排列顺序一样
         若有 field 未被插入,则为 null 。
      查看实际插入值语法: select * from tablename;
       插入多条记录:可以在一个 value() 后面加一个逗号,插入多条语句
    2 更新 ( 更改 ) 记录
       语法: update tablename set   field1=value1, field2=value2, field3=value3 ,where column_name=valuen;
       作用:将 tablename 中 column_name 等于 valuen 的 field1 , field2, field3 更改为对应的 value1 , value2 , value3.
       * 同时更新多个表中的字段
        语法: update tablename1 type1,tablename2 type2 set   type1.field1=value1,type2.field1=value1 where type1.column_name=type2.column_name;
    3 删除记录
       语法: delete from tablename where column_name=valuen( 或者其他情况 );
       可删除多个表的数据: delete type1,type2,type3 、、、 from tablename1 type1,tablename2 type2,tablename3 type3 、、、 where column_name=valuen( 或者其他情况 ) ;
    4 查询记录
       全部查询语法: select * from tablename;
       ( 其中 * 表示将所有记录查询出来,也可以用逗号分割的所有字段代替,如果只想查询其中部分字段,只写相应字段即可 )
      ( 1 )查询不重复的记录
       关键词: distinct
       语法: select distinct field from tablename;
      ( 2 )条件查询
       上文中很多地方提到了 where 关键词,它的作用是根据限定条件查询或者作其他操作,可用类别对应或者数据情况作用条件以便根据需求定位查询目标。
       可用“ > 、 < 、 >= 、 <= 、 != ”等比较运算符,多个条件之间还可以用“ and ”或者“ or ”,类似于“ && ”和“ || ”
      ( 3 )排序和限制
       排序
       语法: select * from tablename order by field; (默认由低到高,若想从高到低,则在 field 后面添加 desc ,升序排列是 asc ,但由于默认,通常不用写。
       同时 field 后面还可接逗号加其他 field ,在第一 field 相同的情况下,按照后面的 field 进行排序)
       作用:把 tablename 中的记录按照 field 的高低进行排序显示。
       限制
       语法 ( 例 ) : select * from tablename order by field limit 3; (显示 tablename 表中按照 field 排序后的前 3 条记录)
       (如果按照排序后的第二条开始的前三条记录,则这样写: select * from tablename order by field limit 1,3; )
       limit 和 order by 经常一起使用
       (4) 聚合
       语法: select count(1) from tablename;( 统计总数量 )
       * 统计某个相同类别或者数据类型的数量
       语法: select field , count(1) from tablename group by field;
       * 统计各类别数量又统计总数量
       语法: select field , count(1) from tablename group by field with rollup ;
       * 统计数量大于某个数量的类别
       语法: select field , count(1) from tablename group by field having count(1)>1 ;( 这里举例大于 1 的某个类别 )
       * 统计某个表中最大、最小、数据总和。
       语法: select sum (field), max (field), min (field) from tablename;
       (5) 表连接
       * 内连接:仅选出两张表中互相匹配的记录
       语法(例): select field1,field2 from tablename1,tablename2 where tablename1.field=tablename2.field; (查询出两个表中所有 field1 和 field2 )
       * 外连接:选出其他不匹配的记录
             右连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录。
             语法(例): select field1,field2 from tablename1 right join tablename2 on tablename1.field=tablename2.field;
             左连接:包含所有的右边表中的记录甚至是左边表中没有和它匹配的记录。
             语法(例): select field1,field2 from tablename1 left join tablename2 on tablename1.field=tablename2.field;
       (常用内连接)
       (6) 子查询
       语法(例): select from tablename1 where field in ( select field from tablename2);
       ( 查询 tablename1 中 field 与 tablename2 中 field 相同的类别。其中如果子查询唯一, in 可以用 = 代替 )
      ( 7 )记录联合
       语法: select field from tablename2 换行
                  union all 换行
                 select field from tablename2;
       field 可以为 * 全部显示。
      
    **********************DCL 语句 *********************
      
    DCL 语句主要是用来管理系统中的对象权限时使用,一般开发人员很少使用(具体见书)
     
    **********************Mysql 帮助的使用 *********************
     
    命令行输入
    ? contents :用来显示所有可供查询的分类
    ? 类别名称 :在上面步骤进行后,针对需求作进一步查看。
    ? data types : 查看 Mysql 支持哪些数据类型
    * 如果想知道某项语法时,可以 “ 问号  关键词 ”命令进行查询。
      例如想查看 show 命令都能看到什么东西。就输入:? show
    JDBC 连接 MYSQL 数据库 (推荐网站)
  • 相关阅读:
    Codeforces 1316B String Modification
    Codeforces 1305C Kuroni and Impossible Calculation
    Codeforces 1305B Kuroni and Simple Strings
    Codeforces 1321D Navigation System
    Codeforces 1321C Remove Adjacent
    Codeforces 1321B Journey Planning
    Operating systems Chapter 6
    Operating systems Chapter 5
    Abandoned country HDU
    Computer HDU
  • 原文地址:https://www.cnblogs.com/csk001/p/14227836.html
Copyright © 2011-2022 走看看