Linux 下 Mysql 的使用(Ubuntu20.04)

文章目录

    • 一、安装
    • 二、使用
      • [2.1 登录](#2.1 登录)
      • [2.2 数据库操作](#2.2 数据库操作)
        • [2.2.1 创建数据库](#2.2.1 创建数据库)
        • [2.2.2 删除数据库](#2.2.2 删除数据库)
        • [2.2.3 创建数据表](#2.2.3 创建数据表)
    • 参考文档

一、安装

Linux 下 Mysql 的安装非常简单,一个命令即可:

shell 复制代码
sudo apt install mysql-server

检查安装是否成功,输入:

shell 复制代码
mysql -V

二、使用

2.1 登录

连接服务器时,需要提供用户名和密码

shell 复制代码
# 连接远程服务器
mysql -h host -u user -p
# 在本地连接本地的Mysql
mysql -u user -p

初次登录可以使用root账户,然后在root账户中创建新用户,再使用上面的命令登录

shell 复制代码
# 登录 root 用户(密码是安装的时候让填的,如果没有填就是没有密码)
sudo mysql -u root

# 将new_user和new_password替换为要创建的新用户的用户名和密码
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';

# 这步很重要,赋予new_user用户所有权限,否则在后续操作时会提示该用户没有权限
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;

# 退出当前Mysql用户
exit

# 登录新创建的用户
$ mysql -u new_user -p

如果要查看更多的Mysql的选项列表,可以输入

shell 复制代码
mysql --help  

2.2 数据库操作

使用SHOW语句可以找出服务器上当前存在哪些数据库:

shell 复制代码
# SHOW DATABASES;或者换成小写都是可以的
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| RUNOOB             |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

2.2.1 创建数据库

在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下:

shell 复制代码
CREATE DATABASE 数据库名;
shell 复制代码
# 创建数据库
mysql> CREATE DATABASE test;
Query OK, 1 row affected (0.03 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| RUNOOB             |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)

USE命令用于切换当前连接的活动数据库,当连接到MySQL服务器时,默认情况下可能没有选择任何数据库。为了执行针对特定数据库的SQL查询(例如SELECT、INSERT、UPDATE、DELETE等),需要先告诉MySQL想要操作哪个数据库

shell 复制代码
USE 数据库名;

2.2.2 删除数据库

drop 命令删除数据库,命令格式:

shell 复制代码
drop database 数据库名;

2.2.3 创建数据表

创建MySQL数据表的SQL通用语法:

shell 复制代码
CREATE TABLE table_name (column_name column_type);

Mysql数据类型:https://www.runoob.com/mysql/mysql-data-types.html

shell 复制代码
# 创建一个表
mysql> create table test_table (name VARCHAR(100));
Query OK, 0 rows affected (0.14 sec)

# 查看表的情况
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| test_table     |
+----------------+
1 row in set (0.00 sec)

# 查看表中情况
mysql> DESCRIBE test_table;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| name  | varchar(100) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
1 row in set (0.01 sec)

参考文档

https://dev.mysql.com/doc/refman/8.1/en/entering-queries.html

https://www.runoob.com/mysql/mysql-connection.html

相关推荐
小安运维日记13 分钟前
RHCA - DO374 | Day03:通过自动化控制器运行剧本
linux·运维·数据库·自动化·ansible·1024程序员节
乐十九2 小时前
IIC总线原理详解
linux
冷崖2 小时前
MySQL-TrinityCore异步连接池的学习(七)
学习·mysql
mi20062 小时前
银河麒麟v10 sp1更改data目录挂载
linux·运维
tan180°3 小时前
Linux网络HTTP(下)(9)
linux·网络·http
程序新视界3 小时前
详解MySQL两种存储引擎MyISAM和InnoDB的优缺点
数据库·后端·mysql
半路_出家ren3 小时前
设计一个学生管理系统的数据库
linux·数据库·sql·mysql·网络安全·数据库管理员
着迷不白3 小时前
华为堡垒机
linux·运维·服务器·centos
飘忽不定的bug3 小时前
Atlas 200I AI加速模块-修改和打包文件系统
linux·ascend310b
妮妮喔妮4 小时前
linux:查看某个文件下开启的进程占用的是哪个端口?
linux·运维·服务器