zoukankan      html  css  js  c++  java
  • 表操作

    创建表:

    mysql> create table student(
        -> id int(4) not null auto_increment,
        -> name char(8) not null,
        -> primary key(id),
        -> key index_name(name)
        -> );
    mysql> show create table studentG
    *************************** 1. row ***************************
           Table: student
    Create Table: CREATE TABLE `student` (
      `id` int(4) NOT NULL AUTO_INCREMENT,
      `name` char(8) NOT NULL,
      PRIMARY KEY (`id`),
      KEY `index_name` (`name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    mysql> desc student;
    +-------+---------+------+-----+---------+----------------+
    | Field | Type    | Null | Key | Default | Extra          |
    +-------+---------+------+-----+---------+----------------+
    | id    | int(4)  | NO   | PRI | NULL    | auto_increment |
    | name  | char(8) | NO   | MUL | NULL    |                |
    +-------+---------+------+-----+---------+----------------+
    mysql> select * from student;
    Empty set (0.00 sec)
    

    插入数据insert:

    mysql> insert into student (id,name) values(1,'kaka');
    mysql> select * from student;
    +----+------+
    | id | name |
    +----+------+
    |  1 | kaka |
    +----+------+
    mysql> insert into student (name) values('bobo');
    mysql> select * from student;
    +----+------+
    | id | name |
    +----+------+
    |  2 | bobo |
    |  1 | kaka |
    +----+------+
    mysql> insert into student values(3,'tom'),(4,'jack');
    mysql> select * from student;
    +----+------+
    | id | name |
    +----+------+
    |  2 | bobo |
    |  4 | jack |
    |  1 | kaka |
    |  3 | tom  |
    +----+------+
    
    

    查询数据select:

    mysql> select id,name from student; #指定id,name列查询
    +----+------+
    | id | name |
    +----+------+
    |  2 | bobo |
    |  4 | jack |
    |  1 | kaka |
    |  3 | tom  |
    +----+------+
    mysql> select id,name from student limit 2; #限制2条查询,默认从表头开始,此次是name列加索引的原因
    +----+------+
    | id | name |
    +----+------+
    |  2 | bobo |
    |  4 | jack |
    +----+------+
    mysql> select id,name from student limit 0,2; #限制查询0,2条不包括第0条
    +----+------+
    | id | name |
    +----+------+
    |  2 | bobo |
    |  4 | jack |
    +----+------+
    mysql> select id,name from student where id=1;
    +----+------+
    | id | name |
    +----+------+
    |  1 | kaka |
    +----+------+
    mysql> select id,name from student where name='kaka';
    +----+------+
    | id | name |
    +----+------+
    |  1 | kaka |
    +----+------+
    mysql> select id,name from student where id=1 and name='kaka';
    +----+------+
    | id | name |
    +----+------+
    |  1 | kaka |
    +----+------+
    mysql> select id,name from student where id=2 or name='jack';
    +----+------+
    | id | name |
    +----+------+
    |  2 | bobo |
    |  4 | jack |
    +----+------+
    mysql> select id,name from student order by id asc; 
    +----+------+
    | id | name |
    +----+------+
    |  1 | kaka |
    |  2 | bobo |
    |  3 | tom  |
    |  4 | jack |
    +----+------+
    mysql> select id,name from student order by name desc;
    +----+------+
    | id | name |
    +----+------+
    |  3 | tom  |
    |  1 | kaka |
    |  4 | jack |
    |  2 | bobo |
    +----+------+
    
    

    explain查看select执行情况:

    mysql> desc student;
    +-------+---------+------+-----+---------+----------------+
    | Field | Type    | Null | Key | Default | Extra          |
    +-------+---------+------+-----+---------+----------------+
    | id    | int(4)  | NO   | PRI | NULL    | auto_increment |
    | name  | char(8) | NO   | MUL | NULL    |                |
    +-------+---------+------+-----+---------+----------------+
    mysql> explain select id,name from student where name='kaka'G
    *************************** 1. row ***************************
               id: 1
      select_type: SIMPLE
            table: student
             type: ref
    possible_keys: index_name
              key: index_name
          key_len: 24
              ref: const
             rows: 1                name列有索引情况下,只用一条。
            Extra: Using where; Using index
    mysql> alter table student drop key index_name;
    mysql> desc student;
    +-------+---------+------+-----+---------+----------------+
    | Field | Type    | Null | Key | Default | Extra          |
    +-------+---------+------+-----+---------+----------------+
    | id    | int(4)  | NO   | PRI | NULL    | auto_increment |
    | name  | char(8) | NO   |     | NULL    |                |
    +-------+---------+------+-----+---------+----------------+
    mysql> explain select id,name from student where name='kaka'G
    *************************** 1. row ***************************
               id: 1
      select_type: SIMPLE
            table: student
             type: ALL
    possible_keys: NULL
              key: NULL
          key_len: NULL
              ref: NULL
             rows: 4           #删除索引后用4条
            Extra: Using where
    
    

    增删表的字段:

    mysql> desc student;
    +-------+---------+------+-----+---------+----------------+
    | Field | Type    | Null | Key | Default | Extra          |
    +-------+---------+------+-----+---------+----------------+
    | id    | int(4)  | NO   | PRI | NULL    | auto_increment |
    | name  | char(8) | NO   |     | NULL    |                |
    | sex   | char(4) | NO   |     | NULL    |                |
    +-------+---------+------+-----+---------+----------------+
    mysql> alter table student add age tinyint(2) not null after name;
    mysql> desc student;
    +-------+------------+------+-----+---------+----------------+
    | Field | Type       | Null | Key | Default | Extra          |
    +-------+------------+------+-----+---------+----------------+
    | id    | int(4)     | NO   | PRI | NULL    | auto_increment |
    | name  | char(8)    | NO   |     | NULL    |                |
    | age   | tinyint(2) | NO   |     | NULL    |                |
    | sex   | char(4)    | NO   |     | NULL    |                |
    +-------+------------+------+-----+---------+----------------+
    mysql> desc student;
    +-------+-------------+------+-----+---------+----------------+
    | Field | Type        | Null | Key | Default | Extra          |
    +-------+-------------+------+-----+---------+----------------+
    | qq    | varchar(18) | NO   |     | NULL    |                |
    | id    | int(4)      | NO   | PRI | NULL    | auto_increment |
    | name  | char(8)     | NO   |     | NULL    |                |
    | age   | tinyint(2)  | NO   |     | NULL    |                |
    | sex   | char(4)     | NO   |     | NULL    |                |
    +-------+-------------+------+-----+---------+----------------+
    mysql> select * from student;
    +----+----+------+-----+-----+
    | qq | id | name | age | sex |
    +----+----+------+-----+-----+
    |    |  1 | kaka |   0 |     |
    |    |  2 | bobo |   0 |     |
    |    |  3 | tom  |   0 |     |
    |    |  4 | jack |   0 |     |
    +----+----+------+-----+-----+
    mysql> alter table student drop qq;
    mysql> alter table student drop sex;
    mysql> alter table student drop age;
    mysql> select * from student;       
    +----+------+
    | id | name |
    +----+------+
    |  1 | kaka |
    |  2 | bobo |
    |  3 | tom  |
    |  4 | jack |
    +----+------+
    mysql> alter table student add age tinyint(2) not null,add sex char(4) not null;
    mysql> select * from student;
    +----+------+-----+-----+
    | id | name | age | sex |
    +----+------+-----+-----+
    |  1 | kaka |   0 |     |
    |  2 | bobo |   0 |     |
    |  3 | tom  |   0 |     |
    |  4 | jack |   0 |     |
    +----+------+-----+-----+
    

    更新表的内容:

    mysql> update student set age=18,sex='man' where id=1;  
    mysql> select * from student;
    +----+------+-----+-----+
    | id | name | age | sex |
    +----+------+-----+-----+
    |  1 | kaka |  18 | man |
    |  2 | bobo |   0 |     |
    |  3 | tom  |   0 |     |
    |  4 | jack |   0 |     |
    +----+------+-----+-----+
    

    删除表数据:

    mysql> delete from student where id=1;
    mysql> delete from student where id>3;
    mysql> delete from student where name='tom';  
    mysql> select * from student;               
    +----+------+-----+-----+
    | id | name | age | sex |
    +----+------+-----+-----+
    |  2 | bobo |   0 |     |
    +----+------+-----+-----+
    

      

    更改表名:

    mysql> rename table student to student1;
    mysql> show tables;
    +-------------------+
    | Tables_in_oldgirl |
    +-------------------+
    | student1          |
    | test1             |
    +-------------------+
    mysql> alter table student1 rename to student;
    mysql> show tables;
    +-------------------+
    | Tables_in_oldgirl |
    +-------------------+
    | student           |
    | test1             |
    +-------------------+
    

    删除表:

    drop table test;
    

    清空表

    truncate table test; 更快 清空物理文件
    delete from test;  逻辑清楚,按行删
    

      

      

      

      

      

      

      

     

      

  • 相关阅读:
    lua 学习
    IOS表情存入MYSQL数据库失败
    C# string数组转int数组
    打开端口
    win10下设置IIS、安装php7.2
    NET Core 应用程序 IIS 运行报错 502.3-Gateway
    微信小程序(一)--简单的介绍
    C#socket通信
    使用VScode 的插件
    Vue学习笔记:Slot
  • 原文地址:https://www.cnblogs.com/mihu-999/p/6811602.html
Copyright © 2011-2022 走看看