zoukankan      html  css  js  c++  java
  • 常用sql语句整理:mysql

    ## 常用sql语句整理:mysql


    1. 增

    - 增加一张表
    ```
    CREATE TABLE `table_name`(
      ...
      )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ```

    - 增加记录
    ```
    INSERT INTO `your_table_name`(`column_name`)
    VALUES
    ('your_value_one'),
    ('your_value_two');
    ```

    - 增加字段
    ```
    ALTER TABLE `your_table_name`
    ADD `your_column_name` ...
    AFTER `column_name`;
    ```

    - 增加索引
      + 主键
      ```
      ALTER TABLE `your_table_name`
      ADD PRIMARY KEY your_index_name(your_column_name);
      ```
      + 唯一索引
      ```
      ALTER TABLE `your_table_name`
      ADD UNIQUE your_index_name(your_column_name);
      ```
      + 普通索引
      ```
      ALTER TABLE `your_table_name`
      ADD INDEX your_index_name(your_column_name);
      ```
      + 全文索引
      ```
      ALTER TABLE `your_table_name`
      ADD FULLTEXT your_index_name(your_column_name);
      ```


    2. 删

    - 逐行删除
    ```
    DELETE FORM `table_name`
    WHERE ...;
    ```

    - 清空整张表
    ```
    TRUNCATE TABLE `your_table_name`;
    ```

    - 删除表
    ```
    DROP TABLE `your_table_name`;
    ```

    - 删除字段
    ```
    ALTER TABLE `your_table_name`
    DROP `column_name`;
    ```

    - 删除索引
    ```
    ALTER TABLE `your_table_name`
    DROP INDEX your_index_name(your_column_name);
    ```


    3. 改

    - 变更数据
    ```
    UPDATE `table_name`
    SET column_name=your_value
    WHERE ...;
    ```

    - 变更字段
    ```
    ALTER TABLE `your_table_name`
    CHANGE `your_column_name` `your_column_name` ...(变更);
    ```

    - 变更字段值为另一张表的某个值
    ```
    UPDATE `your_table_name`
    AS a
    JOIN `your_anther_table_name`
    AS b
    SET a.column = b.anther_column
    WHERE a.id = b.a_id...;
    ```

    4. 查


    - 普通查询
    ```
    SELECT `column_name_one`, `column_name_two`
    FROM `table_name`;
    ```

    - 关联查询
    ```
    SELECT *
    FROM `your_table_name`
    AS a
    JOIN `your_anther_table_name`
    AS b
    WHERE a.column_name = b.column_name...;
    ```

    - 合计函数条件查询:WHERE 关键字无法与合计函数一起使用
    ```
    SELECT aggregate_function(column_name)
    FROM your_table_name
    GROUP BY column_name
    HAVING aggregate_function(column_name)...;
    ```

    - 同一个实例下跨库查询
    ```
    SELECT *
    FROM database_name.your_table_name
    AS a
    JOIN another_database_name.your_another_table_name
    AS b
    WHERE a.column_name = b.column_name...;
    ```

    5. 复制一张表结构
    ```
    CREATE TABLE `your_table_name`
    LIKE `destination_table_name`;
    ```

    6. 完全复制一张表:表结构+全部数据
    ```
    CREATE TABLE `your_table_name`
    LIKE `destination_table_name`;

    INSERT INTO `your_table_name`
    SELECT *
    FROM `destination_table_name`;
    ```

    ---

    ### 附录:mysql常用命令
    - 登陆: mysql -h host -u username -p
    - 列出数据库:SHOW DATABESES;
    - 列出表:SHOW TABLES;
    - 列出表结构:DESC table_name
    - 使用一个数据库:USE database_name;
    - 导入:source 'file';
    - 导出:mysqldump -h 127.0.0.1 -u root -p "database_name" "table_name" --where="condition" > file_name.sql;
    - 查看慢日志:mysqldumpslow -s [c:按记录次数排序/t:时间/l:锁定时间/r:返回的记录数] -t [n:前n条数据] -g "正则" /path
    - 新增用户: insert into `user`(`Host`, `User`, `authentication_string`) value('localhost', 'username', password('pwd'))

    ### mysql 5.7 新增用户

    ```
    // 插入新用户
    insert into mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject
    value('localhost', 'username', password('password'), '', '', '');

    // 数据库授权
    grant all privileges on dbname.name.* to username@localhost identified by 'password';

    // 刷新权限信息
    FLUSH PRIVILEGES;
    ```

  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15454921.html
Copyright © 2011-2022 走看看