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

相关推荐
夜听莺儿鸣28 分钟前
502-002_Linux驱动开发模块化编程
linux·驱动开发·模块化编程
wuminyu1 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
科力锐品牌君2 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
zhangrelay2 小时前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
流浪0013 小时前
Linux系统篇39——线程(四) pthread库的由来和线程的创建与等待
linux·操作系统·线程·pthread库
Lancker3 小时前
chnroute-linux — 中国大陆 IP 段每日自动更新 + 「仅允许国内访问」落地
linux·运维·tcp/ip
夜雪一千3 小时前
MySQL外键彻底入门:是什么、怎么用、什么时候不该用
数据库·mysql
高山有多高4 小时前
【Linux笔记】Linux进程与守护进程
linux
大侠归来4 小时前
Ubuntu 搭建 APUE 环境:从源码编译到第一个示例跑通
linux·运维·ubuntu
FYKJ_20105 小时前
SSM校园失物招领系统41452-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·typescript·spark