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

相关推荐
sunburn-7 小时前
MySQL 数据库基础:从入门到熟练的完整教程
mysql·数据库开发·数据库架构
NineData7 小时前
MySQL 迁移到 OceanBase 怎么做?NineData 全量迁移、CDC 实时同步与数据校验指南
数据库·mysql·oceanbase
金色熊族7 小时前
在Qt中使用asan检测内存泄漏(二)--检查依赖库的内存使用
linux·qt·asan
叼烟扛炮7 小时前
Linux 学习笔记(十六):进程的调度与优先级——谁先抢到 CPU?
linux·笔记·学习
幽灵诶7 小时前
学习Linux
linux·学习
kyle~7 小时前
Linux --- CPU 调度机制
linux·运维·数码相机
晴天的雨.9927 小时前
【Linux】编译器gcc/g++
linux·运维·服务器
geovindu7 小时前
sql:SQL Views and Materialized Views using mysql 9.0
大数据·数据库·数据仓库·sql·mysql·数据库开发·数据库架构
花间相见7 小时前
【计算基础|MySQL10】【工程实战】explain 与慢查询优化
adb
pirateeee7 小时前
Yocto 构建基于官方 imx6ull-14x14-evk 的 ubuntu 镜像
linux·嵌入式硬件