美文网首页
Mysql 常用操作

Mysql 常用操作

作者: dchang | 来源:发表于2018-07-30 08:12 被阅读16次
    • 数据库连接
    [root@host]# mysql -u root -p -h 192.168.1.1
    Enter password:ShaZam
    
    • 数据库退出
    mysql> exit
    Bye
    
    • 创建数据库
    CREATE DATABASE 数据库名;
    
    [root@host]# mysql -u root -p   
    Enter password:******  # 登录后进入终端
    
    mysql> create DATABASE CI;
    mysqladmin -u root -p create CI;
    
    • 删除数据库
    drop database <数据库名>;
    
    mysql> drop database CI
    mysqladmin -u root -p drop CI;
    
    • 选择表
    [root@host]# mysql -u root -p
    Enter password:******
    mysql> use CI;
    Database changed
    mysql>
    
    • 数据类型
    To be continue
    
    • 创建数据表
    CREATE TABLE table_name (column_name column_type);
    
    CREATE TABLE IF NOT EXISTS `ci_diff`(
       `id` INT UNSIGNED AUTO_INCREMENT,
       `title` VARCHAR(100) NOT NULL,
       `author` VARCHAR(40) NOT NULL,
       `submission_date` DATE,
       PRIMARY KEY ( `id` )
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    • 删除数据表
    DROP TABLE table_name ;
    
    root@host# mysql -u root -p
    Enter password:*******
    mysql> use CI;
    Database changed
    mysql> DROP TABLE ci_diff
    Query OK, 0 rows affected (0.8 sec)
    mysql>
    
    • 插入数据
    INSERT INTO table_name ( field1, field2,...fieldN )  VALUES ( value1, value2,...valueN ),(),();
    
    • 查询数据
    SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N] [ OFFSET M]
    
    你可以使用 LIMIT 属性来设定返回的记录数
    你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
    
    • WHERE
    SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]]
    condition2.....
    
    • UPDATE
    UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
    
    • DELETE
    DELETE FROM table_name [WHERE Clause]
    
    • LIKE
    SELECT field1, field2,...fieldN  FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = somevalue'
    LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
    
    • UNIION
    SELECT expression1, expression2, ... expression_n
    FROM tables
    [WHERE conditions]
    UNION [ALL | DISTINCT]
    SELECT expression1, expression2, ... expression_n
    FROM tables
    [WHERE conditions];
    
    DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
    ALL: 可选,返回所有结果集,包含重复数据。
    
    • 排序
    SELECT field1, field2,...fieldN table_name1, table_name2...ORDER BY field1, [field2...] [ASC [DESC]]
    
    • GROUP BY
    SELECT column_name, function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name;
    
    SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
    
    • 连接的使用: 多张表的数据汇总成一种形式的数据
      • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
      • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
      • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
    INNER JOIN 代表关联表
    ON 代表之间相同的字段
    WHERE 代表从数据库获取对应的数值
     
    SELECT a.diff_id, a.revision_id, b.board_name, b.process_type, COUNT(*) as numm, a.username FROM phab_monitor a INNER JOIN phab_compile_result b ON a.diff_id = b.diff_id where a.diff_id=391517 group by b.board_name;
    
    • NULL 值处理
    IS NULL: 当列的值是 NULL,此运算符返回 true。
    IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
    <=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。
    

    相关文章

      网友评论

          本文标题:Mysql 常用操作

          本文链接:https://www.haomeiwen.com/subject/bqpvmftx.html