zoukankan      html  css  js  c++  java
  • MySQL整理_2_数据库操作

      数据库操作主要分成三部分,分别是DDL(数据库、表操作)DML(数据增删改)DQL(查)

    【DDL】CREATE | ALTER | DROP

    【数据库】

      【创建数据库】

        CREATE DATEBASE 数据库名称 DEFAULT CHARRACTER SET utf8 COLLATE utf8 general_ci;

      【查看数据库】

        SHOW DATABASES;

      【修改数据库】

        ALTER DATABASE 数据库名称 CHARACTER SET utf8;

      【删除数据库】

        DROP DATABASE 数据库名称;

      【使用(切换)数据库】

        USE 数据库名称

    【数据表】

      【数据类型】

        【数值(Number)型】

        -  INT

        -  FLOAT/DOUBLE

        -  DECIMAL  精确值:多用于金额

        【日期(DATE)型】

        -  DTAE  (YYYY-MM-dd)

        -  DATETIME  (YYYY-MM-dd hh:mm:ss)

        -  TIMESTAMP  (时间戳:唯一标识)

        【字符串类型】

        -  CHAR (num)  长度固定的字符串

        -  VARCHAR(num)  只限制最大长度的字符串

      【约束】

        *【主键约束】PRIMARY KEY  -  唯一不可重复

        *【主键自增约束】AUTO_INCREMENT  

      【创建数据表】

    CREATE TABLE 数据表名称(
        字段名称1 数据类型,    //字段名称相当于每一列的标题
        字段名称2 数据类型,
        ...
    );

        [示例]

    CREATE TABLE myuser (
        //标识(唯一,不可重复)
        id  INT PRIMARY KEY AUTO_INCREMENT,
        name  VARCHAR(30),
        pwd     VARCHAR(30),
        age   INT,
        email VARCHAR(30),
        addr  VARCHAR(30)
     );

      【删除数据表】

    DROP TABLE 数据表名称;

      【查看数据表结构】

    DESC 表名称;

     

    【DML】增删改  -    INSERT | UPDATE | DELETE

    【新增数据】INSERT

      [用法1]

        INSERT INTO 表名 VALUES (字段值1,字段值2,...);

        【注意】

        -  前面有多少字段,后面就有多少字段值

        -  如果哪个字段是主键自增的话,用NULL补全

      [用法2]

        INSERT INTO 表名(字段名1,字段名2,..) VALUES (字段值1,字段值2,...)

        【注意】

        -  字段名与字段值对应

        -  当前数据表字段允许为空

    【更新数据】UPDATE

      [用法1]

        UPDATE 表名 SET 字段名=字段值;

        【注意】

        -  修改了字段名对应的所有字段值(整列)

      [用法2]

        UPDATE 表名 SET 字段名=字段值 WHERE 字段名=字段值;

      [用法3]

        UPDATE 表名 SET 字段名1=字段值1,字段名2=字段值2 WHERE 字段名=字段值;

    【删除数据】

      [用法1]  

        DALETE FROM 表名;

        【注意】

        -  删除指定表中的所有数据

      [用法2]

        DELETE FROM 表名 WHERE 字段名=字段值;

      【问题】

      -  实际操作中基本不使用DELETE语句,以防用户反悔

        【SQL操作】(删除)

        -  物理删除:DELETE

        -  逻辑删除:表面删除

          为指定表添加一个(state|status)字段,表示当前记录的状态

          -  值为1:表示记录正常

          -  值为0:表示记录删除

    【DQL】查

    【基本查询】

      [用法1]

        SELECT * FROM 表名;

      [用法2]  

        SELECT 字段名1,字段名2,... FROM 表名;

    【条件基本查询】

      [用法]  

        SELECT * FROM 表名 WHERE 字段名=字段值;

    【复杂条件查询】

      -  AND  多个条件同时满足

      -  OR  多个条件只要满足一个

      -  IN(SET)  表示一个字段包含多个值

          SET  -  多个字段值之间用','

      -  =  表示字段值为指定值

      -  BETWEEN ... AND ...

      -  IS NULL  匹配NULL值

    【排序查询】ORDER BY 字段名

      ASC  -  正序排序,默认值

      DESC  -  倒序排序

      -  SELECT * FROM 表名 WHERE 条件 ORDER BY ASC|DESC

  • 相关阅读:
    python练习1--求和
    python--文件操作
    【省选】SDOI2017_树点涂色_LuoguP3703/LOJ2001_LCT/线段树
    【洛谷】P1784 数独
    【洛谷】P2671 求和
    【洛谷】P2261 [CQOI2007]余数求和
    【转载】利用向量积(叉积)计算三角形的面积和多边形的面积
    【洛谷】P1090 合并果子
    【转载】学习C++ -> 类(Classes)的定义与实现
    【洛谷】P2142 高精度减法
  • 原文地址:https://www.cnblogs.com/controlms/p/7820336.html
Copyright © 2011-2022 走看看