zoukankan      html  css  js  c++  java
  • 2. 管理MySQL库和表

    列出当前的数据库:show databases;


    删除数据库: drop database db_name;

    语法:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

    帮助查看: help drop database;

    删除数据库并查看: drop database test;

     
    优雅删除数据库并查看:drop database if exists test;
     
    创建数据库: create database db_name
    示例:
    create database jssdb;
    show databases;
     
    操作系统上查看:
     
    通过操作系统层的mkdir命令,在MySQL数据库的data路径下创建一个目录:
    cd /data/mysqldata/3306/data/
    mkdir jssdb_mc
    在MySQL数据库中查看:
    使用create database命令创建数据库,不仅创建一个同名目录,该目录下还包含要给名为db.opt的文件,其内容如下:
    default-character-set=utf8
    default-collation=utf8_general_ci
     
    查看创建的数据库的字符集:
    show create database jssdb;
    select * from information_schema.schemata;
     
    使用use命令选定数据库,以明确操作的对象所属的数据库。
    使用show tables查看某个库中拥有的表对象。
     
    备注:
    在调用mysql时在最后附加数据库名,即可直接进入指定的库。
    mysql -usystem -p'5ienet.com' mysql
     
     
    创建表:
    详细语法查看:help create table;
    基本语法: Create TABLE tab_name(col_name1 col_type1, col_name2 col_type2 ........);
    示例:
     
    jssdb数据库下创建users表:
    use jssdb;
     
    create table users(
    username varchar(10), 
    sex tinyint,
    birth date,
    address varchar(50),
    phoneno varchar(15));
     
    在jssdb数据库下创建jssdb_mc数据库下的users表。
    create table jssdb_mc.users(
    username varchar(10), 
    sex tinyint,
    birth date,
    address varchar(50),
    phoneno varchar(15));
     
     
    查看表:
    查看表结构信息: desc tab_name
     
    查看mysql库下的db对象的表结构:desc mysql.db;
    DESC命令输出的结果共有6列:

        Field:字段表示的是列名

      Type:字段表示的是列的数据类型

        Null :字段表示这个列是否能取空值

        Key :在mysql中key 和index 是一样的意思,这个Key列可能会看到有如下的值:PRI(主键)、MUL(普通的b-tree索引)、UNI(唯一索引)

        Default: 列的默认值

        Extra :其它信息

    备注:
    DESC tbl_name语句和SHOW COLUMNS PFROM tbl_name语句的功能完全相同。
    show columns from mysql.db;
    查看表对象下创建的索引:SHOW INDEX
    show index from mysql.db;
     
    获取mysql.db对象的创建脚本:
    show create table mysql.dbG;
     
     
     
     
    修改表:
    help alter table;
     
    增加
    ALTER TABLE tab_name ADD(col1 col_definition, col2 col_definition);
    示例:
    alter table users add(email varchar(50),salary smallint);
    desc users;
     
     
    删除:
    ALTER TABLE tab_name DROP col_name;
    示例:
    alter table users drop salary;
     
     
    修改:
    ALTER TABLE tab_name CHANGE col_name new_col col_definition;
    或:
    ALTER TABLE tab_name MODIFY col_name col_definition;
     
    示例:
    alter table users change username username varchar(10);
    alter table users modify username varchar(20);
     
     
    将jssdb_mac.users表的结构修改为与jssdb.users一样,操作如下:
    alter table jssdb_mc.users add email varchar(50), modify username varchar(20);
     
     
    删除表:
     
    删除语法:
     
    删除jssdb库下的users表对象
    drop table users;
     
    谨慎删除!!!(先备份后删除,或重命名)
     
    重命名表对象语法(不仅可以重命名表,还可以移动表,比如从一个库移动到另一个库)
    将jssdb_mc下的users表移动至jssdb库下保存:
    rename table jssdb_mc.users to jssdb.users;
     
    备注:information_schema库下的表无法移动。
  • 相关阅读:
    (一)Kubernetes 系统基础
    Linux-网络RAID技术DRBD
    Linux-存储服务之NFS
    ELK快速入门(五)配置nginx代理kibana
    ELK快速入门(四)filebeat替代logstash收集日志
    ELK快速入门(三)logstash收集日志写入redis
    渗透测试工具集合
    CVE-2019-0708(非蓝屏poc)远程桌面代码执行漏洞复现
    代码审计-thinkphp3.2.3框架漏洞sql注入
    渗透测试-端口复用正向后门
  • 原文地址:https://www.cnblogs.com/zhuntidaoren/p/7890540.html
Copyright © 2011-2022 走看看