• MySQL 最基础命令总结(增删改)


    MySQL 最基础命令总结(增删改)

    下文中所有 database_name 代表具体数据库名字,table_name 代表具体表的名字,column_name代表具体属性列(字段名)名字,column_type代表具体属性列类型。

    mysql 中查看命令

    -----查看所有数据库
    show databases;		
    
    -----查看所有数据表(使用前先 use database_name; 切换到具体的数据库中)
    show tables;
    
    -----查看数据表的结构
    desc table_name;
    
    -----查看表中所有数据
    select * from table_name;
    


    一、创建|删除数据库

    1、新建|删除数据库

    -----简单创建数据库
    create database database_name;
    
    -----创建数据库(修改编码格式,使其能识别中文)
    create database database_name default charset=utf8;
    
    -----删除数据库
    drop database database_name;
    

    2、新建|删除数据表

    • 新建数据表:
    create table table_name(
      字段名称 数据类型 [约束],
      字段名称 数据类型 [约束],
      ...
    );
    
    -----primary key 设置主键 auto_increment 设置自增序号
    -----not null 为非空约束
    -----default 'XXXX' 为设置默认值的约束
    -----constraint...为设置属性列dep_id为外键,连接的是department表的id主键,外键名称为fk_1
    -----若表中有外键,需先创建父表,并且外键与连接的父表的主键数据类型相同,确保外键创建成功
    
    create table student(
    id int(11) primary key auto_increment,
    name varchar(20) not null,
    sex varchar(4) not null,
    birth date default '2000-01-01',
    dep_id int(11) not null,
    constraint fk_1 foreign key (dep_id) references department (id)
    );
    
    --创建完成后使用 desc student; 查看
    mysql> desc student;
    +--------+-------------+------+-----+------------+----------------+
    | Field  | Type        | Null | Key | Default    | Extra          |
    +--------+-------------+------+-----+------------+----------------+
    | id     | int(11)     | NO   | PRI | NULL       | auto_increment |
    | name   | varchar(20) | NO   |     | NULL       |                |
    | sex    | varchar(4)  | NO   |     | NULL       |                |
    | birth  | date        | YES  |     | 2000-01-01 |                |
    | dep_id | int(11)     | NO   | MUL | NULL       |                |
    +--------+-------------+------+-----+------------+----------------+
    5 rows in set (0.00 sec)
    
    • 删除数据表:
    drop table table_name;
    

    3、向表中新增|删除数据

    • 新增数据
    insert into table_name [(field1,field2,...,fieldn)]
    values (value1,value2,...,valuen);
    
    -----注意在输入最后的dep_id的值时,由于外键原因,只能输入department表中id属性列有的数值
    
    insert into student (name,sex,birth,dep_id) 
    values ('张三','男','2001-09-08',1),('李清','女',default,3),('兰一','女','1998-11-13',3);
    
    -----使用 select * from student 查看
    mysql> select * from student;
    +----+--------+-----+------------+--------+
    | id | name   | sex | birth      | dep_id |
    +----+--------+-----+------------+--------+
    |  4 | 张三   | 男  | 2001-09-08 |      1 |
    |  5 | 李清   | 女  | 2000-01-01 |      3 |
    |  6 | 兰一   | 女  | 1998-11-13 |      3 |
    +----+--------+-----+------------+--------+
    3 rows in set (0.00 sec)
    
    
    • 删除数据
    ------where 后加需要删除的属性列对应的行
    ------语句简单,不再举例
    delete from table_name [where condition];
    


    二、更改数据表

    修改表(alter)

    ------更改表名
    alter table table_name1 rename to table_name2;
    
    ------在表中增添属性列
    ------first|after设置新增的属性列位置,first;第一列;after xxx:在xxx列之后
    alter table table_name 
    add column_name1 [first|after column_name2];
    
    ------在表中删除属性列
    alter table table_name drop column_name;
    
    
    ------修改属性列类型
    alter table table_name 
    modify colunm_name 
    column_type;
    
    ------修改属性列类型与名称,clounm_nameOld为旧的属性列名,clounm_nameNew为新属性列名。
    alter table table_name 
    change clounm_nameOld clounm_nameNew 
    column_type;
    
    ------修改属性列默认值
    alter table table_name 
    alter culumn_name 
    set default xxx;
    
    ------删除属性列默认值
    alter table table_name 
    alter culumn_name 
    drop default;
    
    ------删除外键约束:keyName是外键名
    alter table tableName drop foreign key keyName;
    


    修改或更新数据(update)

    update table_name set culunm_name=xxx [WHERE Clause];
    
    • 示例:
    ------原数据表
    select * from student;
    +----+--------+-----+------------+--------+------+
    | id | name   | sex | birth      | dep_id | tel  |
    +----+--------+-----+------------+--------+------+
    |  4 | 张三   | 男  | 2001-09-08 |      1 | NULL |
    |  5 | 李清   | 女  | 2000-01-01 |      3 | NULL |
    |  6 | 兰一   | 女  | 1998-11-13 |      3 | NULL |
    +----+--------+-----+------------+--------+------+
    3 rows in set (0.00 sec)
    
    update student set sex='男' where name='兰一';
    
    ------结果
    select * from student;
    +----+--------+-----+------------+--------+------+
    | id | name   | sex | birth      | dep_id | tel  |
    +----+--------+-----+------------+--------+------+
    |  4 | 张三   | 男  | 2001-09-08 |      1 | NULL |
    |  5 | 李清   | 女  | 2000-01-01 |      3 | NULL |
    |  6 | 兰一   | 男  | 1998-11-13 |      3 | NULL |
    +----+--------+-----+------------+--------+------+
    3 rows in set (0.00 sec)
    
  • 相关阅读:
    C语言的标准输入输出
    Java 循环中标签的作用
    Java并发包中CountDownLatch的工作原理、使用示例
    Java并发包中CyclicBarrier的工作原理、使用示例
    Java并发包中Semaphore的工作原理、源码分析及使用示例
    ScheduleThreadPoolExecutor的工作原理与使用示例
    Java 循环中标签的作用
    线程池ThreadPoolExecutor、Executors参数详解与源代码分析
    线程池的工作原理及使用示例
    Callable、Future、RunnableFuture、FutureTask的原理及应用
  • 原文地址:https://www.cnblogs.com/zzzketi/p/13333919.html
Copyright © 2020-2023  润新知