• 使用SQL的灵魂(精华)


    一、在安装MySQL你不知道的事情

    • 安装完MySQL后,就有了MySQL Server,即真正的MySQL服务器
    • 附赠一个MySQL Client程序

    1.1 关于MySQL Client

    这是一个命令行客户端,可以通过MySQL Client登录MySQL,然后,输入SQL语句并执行。

    1.2 如何连接的?

    通过TCP进行连接和通信

    MySQL Client的可执行程序是mysql,MySQL Server的可执行程序是mysqld

    • 本地连接。默认端口号是3306,即如果发送到本机MySQL Server,地址就是127.0.0.1:3306。

    • 也可以只安装MySQL Client,然后连接到远程MySQL Server。假设远程MySQL Server的IP地址是10.0.1.99,那么就使用-h指定IP或域名:

    mysql -h 10.0.1.99 -u root -p
    
    • 1

    使用MySQL client连接mysql服务器

    [wangguowei@master ~]$ mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 44
    Server version: 5.1.73 Source distribution
    
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    1.3 问题的解决Access denied for user ‘’@‘localhost’ (using password: YES)

    配置用户登录主机的限制。设置为%就是任意主机可以登录。

    二、管理MySQL

    本质上,MySQL Workbench和MySQL Client命令行都是客户端,和MySQL交互,唯一的接口就是SQL。

    2.1 命令操作数据库

    在交互窗口中创建删除数据库

    mysql> create database wangguowei;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | hive_168           |
    | mysql              |
    | test               |
    | test_db            |
    | wangguowei         |
    +--------------------+
    6 rows in set (0.00 sec)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    对一个数据库进行操作时,要首先将其切换为当前数据库:
    use test;

    2.2 命令操作数据表

    • 查询当前选定数据库中包含的数据表
      show tables;

    • 查询某一个数据表的表结构

    mysql> desc students;
    +----------+--------------+------+-----+---------+----------------+
    | Field    | Type         | Null | Key | Default | Extra          |
    +----------+--------------+------+-----+---------+----------------+
    | id       | bigint(20)   | NO   | PRI | NULL    | auto_increment |
    | class_id | bigint(20)   | NO   |     | NULL    |                |
    | name     | varchar(100) | NO   |     | NULL    |                |
    | gender   | varchar(1)   | NO   |     | NULL    |                |
    | score    | int(11)      | NO   |     | NULL    |                |
    +----------+--------------+------+-----+---------+----------------+
    5 rows in set (0.01 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 查看创建某一个表的sql语句

    舒服了!

    | students | CREATE TABLE `students` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `class_id` bigint(20) NOT NULL,
      `name` varchar(100) NOT NULL,
      `gender` varchar(1) NOT NULL,
      `score` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 |
    +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.3 命令修改数据表

    • 表新增一列birth,使用:
    ALTER TABLE students ADD COLUMN birth VARCHAR(10) NOT NULL;
    
    • 1
    • 要修改birth列,例如把列名改为birthday,类型改为VARCHAR(20):
    ALTER TABLE students CHANGE COLUMN birth birthday VARCHAR(20) NOT NULL;
    
    • 1
    • 要删除列,使用:
    ALTER TABLE students DROP COLUMN birthday;
    
    • 1

    2.4 退出MySQL

    使用EXIT命令退出MySQL:

    mysql> EXIT
    Bye
    
    • 1
    • 2

    注意EXIT仅仅断开了客户端和服务器的连接,MySQL服务器仍然继续运行。

  • 相关阅读:
    docker搭建kafka
    k8s——pod控制器
    windbg的时间旅行实现对 C# 程序的终极调试
    06-React的路由
    java计算机毕业设计科研成果管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
    web前端面试-- 手写原生Javascript方法(new、Object.create)
    c语言中的fgetc、fgets
    IDEA同步代码到Gitee
    JAVA互联网一线大厂面试真题自测,顺便看看大牛的通行证
    网络安全——使用Linux系统命令对后门端口进行查杀
  • 原文地址:https://blog.csdn.net/weixin_44943389/article/details/127456873