• MySQL基本操作


    MySQL登录

    mysql [参数]

    参数 描述
    -D , --database = name 打开指定数据库
    --delimite = name 指定分隔符
    -h , --host = name 服务器名称
    -p , --password[=name] 密码
    -P , --post = # 端口号
    --prompt = name 设置提示符
    -u , --user = name 用户名
    -V , --version 输出版本信息并且退出

    示例:

    C:WINDOWSsystem32>mysql -uroot -p -P3307 -h127.0.0.1
    Enter password: ********
    

    说明:
    -P 后面加的端口号,默认为3306,如果不写-P,那么就是默认的,如果修改为其他,这里要注明。我这里修改了端口号为3307,所以需要注明 -P3307

    MySQL退出

    mysql > exit;
    mysql > quit;
    mysql > q;

    修改MySQL提示符

    prompt

    连接客户端时,可通过以下命令连接:

    shell > mysql -uroot -proot --prompt 提示符
    

    注意:
    -u后面是用户名,这里是root; -p后面是密码root,可以空着(即-p后面不加任何字符,系统会等下要去输入)

    关于提示符,这里列一个表格:

    提示符参数 描述
    D 完整的日期
    d 当前数据库
    h 服务器名称
    u 当前用户

    连接上客户端后,也可以修改提示符:

    mysql > prompt 提示符
    

    示例:

    C:WINDOWSsystem32>mysql -uroot -p -P3307 --prompt new
    Enter password: ********
    new
    
    C:WINDOWSsystem32>mysql -uroot -p -P3307
    Enter password: ********
    
    mysql> prompt u@h d >
    PROMPT set to 'u@h d > '
    root@localhost (none) >
    

    其中root来自u,localhost来自h,(none)来自d,因为还没有创建数据库,所以是(none)

    MySQL常用命令

    SELECT VERSION();
    显示当前服务器版本

    SELECT NOW();
    显示当前日期

    SELECT USER();
    显示当前用户

    示例:

    root@localhost (none) > SELECT USER();
    +----------------+
    | USER()         |
    +----------------+
    | root@localhost |
    +----------------+
    1 row in set (0.00 sec)
    
    root@localhost (none) > SELECT VERSION();
    +------------+
    | VERSION()  |
    +------------+
    | 5.7.16-log |
    +------------+
    1 row in set (0.06 sec)
    
    root@localhost (none) > SELECT NOW();
    +---------------------+
    | NOW()               |
    +---------------------+
    | 2016-11-15 20:25:09 |
    +---------------------+
    1 row in set (0.06 sec)
    

    MySQL语句的规范

    • 关键字和函数名全部用大写
    • 数据库名称、表名称,字段名称全部用小写
    • SQL语句必须以分号结尾

    数据库操作

    创建数据库

    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name

    说明:

    {DATABASE | SEHEMA},表示在大括号里面任意选择其中一个,一般用 DATABASE
    [IF NOT EXISTS],“如果不存在”,表示如果存在数据库,那么就不创建,这条语句不会给出具体提示,如果出错,会有warning,可以用 SHOW WARNING来查看提示,如果对不存在数据库进行创建,那么就顺利执行。
    同样的,有些语句是[IF EXISTS],表示如果存在,那么执行将不会有问题,比如DROP删除数据库,就可以添加这个选项,即如果数据库存在,才可以删除。同样可以用SHOW WARNING来查看错误提示。
    [DEFAULT] CHARACTER SET 表示设置编码方式,如果不写,默认使用系统自带的编码方式。

    下面通过示例进行讲解:

    创建数据库D1:

    root@localhost (none) > CREATE DATABASE D1;
    Query OK, 1 row affected (0.00 sec)
    

    查看数据库列表:

    root@localhost (none) > SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | d1                 |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    

    重新创建一个D1数据库:

    root@localhost (none) > CREATE DATABASE D1;
    ERROR 1007 (HY000): Can't create database 'd1'; database exists
    

    提示错误:数据库已经存在,无法创建

    root@localhost (none) > CREATE DATABASE IF NOT EXISTS D1;
    Query OK, 1 row affected, 1 warning (0.00 sec)
    

    添加 IF NOT EXISTS,没有报错,但是给出 1 warning的提示
    通过 SHOW WARNING; 来查看错误:

    +-------+------+---------------------------------------------+
    | Level | Code | Message                                     |
    +-------+------+---------------------------------------------+
    | Note  | 1007 | Can't create database 'd1'; database exists |
    +-------+------+---------------------------------------------+
    1 row in set (0.00 sec)
    

    查看数据库D1的信息:

    root@localhost (none) > SHOW CREATE DATABASE D1;
    +----------+-------------------------------------------------------------+
    | Database | Create Database                                             |
    +----------+-------------------------------------------------------------+
    | D1       | CREATE DATABASE `D1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+-------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    可以看出数据库D1的编码方式是 utf8

    创建数据库的同时指定编码方式:

    root@localhost (none) > CREATE DATABASE D2 CHARACTER SET GBK;
    Query OK, 1 row affected (0.00 sec)
    
    root@localhost (none) > SHOW CREATE DATABASE D2;
    +----------+------------------------------------------------------------+
    | Database | Create Database                                            |
    +----------+------------------------------------------------------------+
    | D2       | CREATE DATABASE `D2` /*!40100 DEFAULT CHARACTER SET gbk */ |
    +----------+------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    可以看出编码为gbk

    查看当前服务器下的数据表列表

    SHOW {DATABASES | SCHEMA} [LIKE 'pattern' | WHERE expr]

    前面的例子已经讲到。

    root@localhost (none) > SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | d1                 |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    

    可以看到一共有五个数据库,其中除了 d1 是刚刚创建的之外,其他的都是系统自带的数据库。

    修改数据库

    ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name

    示例:修改数据库D2的编码方式为utf8

    root@localhost (none) > ALTER DATABASE D2 CHARACTER SET = UTF8;
    Query OK, 1 row affected (0.00 sec)
    
    root@localhost (none) > SHOW CREATE DATABASE D2;
    +----------+-------------------------------------------------------------+
    | Database | Create Database                                             |
    +----------+-------------------------------------------------------------+
    | D2       | CREATE DATABASE `D2` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+-------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    删除数据库

    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

    这里的 IF EXISTS 前面已经讲到了,这里不赘述。

    我们把数据库D1,D2删除:

    root@localhost (none) > SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | d1                 |
    | d2                 |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)
    
    root@localhost (none) > DROP DATABASE D1;
    Query OK, 0 rows affected (0.00 sec)
    
    root@localhost (none) > DROP DATABASE D2;
    Query OK, 0 rows affected (0.00 sec)
    
    root@localhost (none) > SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
  • 相关阅读:
    20145304《信息安全系统设计基础》第0周学习总结
    20145304 《Java程序设计》课程总结
    20145304 实验五实验报告
    20145304 第十周学习报告
    20145304 Java第九周学习报告
    20145304 实验四实验报告
    20145304 实验三实验报告
    20145304 Java第八周学习报告
    20145304 Java第七周学习报告
    20145303 《信息安全系统设计基础》第7周学习总结(2)
  • 原文地址:https://www.cnblogs.com/hlwyfeng/p/6066743.html
Copyright © 2020-2023  润新知