• MySQL上手


    mysql -u root -p

    -u:username

    -p:password

    1.库级操作:

    show databases; 显示所有数据库

    create database a;

    drop database a; //从删库到跑路

    2.表操作:

    use a;

    create table users (username varchar(32), balance double);

    show tables;

    desc users; //描述表的详细结构 

    alter table users add column password varchar(64);

    drop table users;

    show tables;

    //数据结构上的 drop alter

    //数据上的 delete update

    3.列级操作

    create table users(

       username varchar(32),

       password varchar(63),

      balance double

    );

    alter table users change column username name varchar(12);

    alter table users change column name name varchar(64);

    alter table users modify name varchar(128);

    altert table users drop column balance;

    alter table users modify name varchar(32),change password passwd varchar(64);

    4.数据操作

    desc users;

    select name,passwd from users;

    //empty set;

    select * from users;

    //empty set;

    insert into users (name,passwd) values ('whh','123')

    select * from users;

    //...

    insert into users (name,passwd) values

         ('lsd','123'),

         ('lbb','321'),

         ('zks','233');

    //delete删除数据层面的 drop是删除结构层面的

    delete from users; //全部删除

    delete from users where name = 'whh';

    select * from users where name = 'lsd';

     update users set passwd = '233' where name = 'zks';

    //连接

    CREATE TABLE `grade` (
      `no` int(11) NOT NULL AUTO_INCREMENT,
      `grade` int(11) NOT NULL,
      PRIMARY KEY (`no`)
    )

    INSERT INTO grade VALUES ('1', '90');
    INSERT INTO grade VALUES ('2', '80');
    INSERT INTO grade VALUES ('3', '70');
    -- ----------------------------

    CREATE TABLE `student` (
      `no` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(20) NOT NULL,
      PRIMARY KEY (`no`)
    )

    INSERT INTO student VALUES ('1', 'a');
    INSERT INTO student VALUES ('2', 'b');
    INSERT INTO student VALUES ('3', 'c');
    INSERT INTO student VALUES ('4', 'd');
    -- ----------------------------

    mysql> select * from grade;
    +----+-------+
    | no | grade |
    +----+-------+
    |  1 |    90 |
    |  2 |    80 |
    |  3 |    70 |
    +----+-------+
    3 rows in set

    mysql> select * from student;
    +----+------+
    | no | name |
    +----+------+
    |  1 | a    |
    |  2 | b    |
    |  3 | c    |
    |  4 | d    |
    +----+------+
    4 rows in set


    内连接 inner join(查找条件中对应的数据,no4没有数据不列出来) 

    在表中存在至少一个匹配时,INNER JOIN 关键字返回行

    复制代码
    mysql> select * from student inner join grade on student.no=grade.no;
     
    +----+------+----+-------+
    | no | name | no | grade |
    +----+------+----+-------+
    |  1 | a    |  1 |    90 |
    |  2 | b    |  2 |    80 |
    |  3 | c    |  3 |    70 |
    +----+------+----+-------+
    3 rows in set

    左连接(左表中所有数据,右表中对应数据) 

    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

    复制代码
    mysql> select * from student left join grade on student.no=grade.no; 
    +----+------+------+-------+
    | no | name | no   | grade |
    +----+------+------+-------+
    |  1 | a    |    1 |    90 |
    |  2 | b    |    2 |    80 |
    |  3 | c    |    3 |    70 |
    |  4 | d    | NULL | NULL  |
    +----+------+------+-------+
    4 rows in set

    右连接(右表中所有数据,左表中对应数据) 

    RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

    复制代码
    mysql> select * from student right
     join grade on student.no=grade.no; 
    +----+------+----+-------+
    | no | name | no | grade |
    +----+------+----+-------+
    |  1 | a    |  1 |    90 |
    |  2 | b    |  2 |    80 |
    |  3 | c    |  3 |    70 |
    +----+------+----+-------+
    3 rows in set
    复制代码

    group_concat:

     创建一个数据库结构相同的表:

    create table newTable as select * from oldTable where 2=1;

  • 相关阅读:
    RTTI机制
    QT 实现 QTabWidget 的多个Tab宽度之和 等于 TabWidget 的宽度
    安装QT
    给QT 程序的EXE文件添加图标
    OceanBase使用libeasy原理源码分析:服务器端
    libev 源码浅析
    [转载]CAP理论十二年回顾:"规则"变了
    replication 技术摘要
    函数调用和函数返回 栈变化情况
    The Secret To 10 Million Concurrent Connections The Kernel Is The Problem, Not The Solution
  • 原文地址:https://www.cnblogs.com/eret9616/p/7981638.html
Copyright © 2020-2023  润新知