liunx环境下的mysql数据库
如果你要在一个liunx环境下玩数据库的话,首先你需要一个liunx的虚拟机或者一台liunx系统的电脑,这里我们选择liunx的ubuntu_server-22.04…2版本的虚拟机为例来讲解。
此文章仅为新手学习提供引导并不完整,其他内容可到菜鸟教程-MySQL教程学习
本文章中提到的域名即主机名
一、虚拟机安装
提示:虚拟机已经安装的请跳过该步骤
略
不会安装虚拟机的可以到billbill查找安装教程
二、数据库安装(windos用户请到官网下载并根据安装流程提示进行操作安装)
1.更新软件源,更新系统(windos用户请忽略该操作)
代码如下(示例):
sudo apt-get update
sudo apt upgrade
2.安装(windos用户请忽略该操作)
代码如下(示例):
sudo apt install mysql-server
3.预配置安装好的mysql服务(windos用户请忽略该操作)
sudo mysql
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
mysql>quit
以下步骤按照图片指引配置即可
sudo mysql_secure_installation
三.安装完成,开始正文
1,创建一个测试学习用的数据库(windos用户请忽略)
以管理员身份登入mysql(上面配置没出错的不需要sudo,出错的话一般情况只能重装数据库,而且需要完整卸载数据库以后再重装)
mysql -uroot -p密码
此处的密码为之前sudo mysql那里设置的密码,windos用户的密码是安装时设置的那一个
windos用户可忽略以下操作
由于用于测试,这里单独创建数据库test_db,单独创建用户test_root
mysql> create user test_root@localhost identified by 'test的用户密码';
Query OK, 0 rows affected (0.01 sec)
#创建允许域名为localhost主机登录的用户test_root,并设置密码
mysql> grant all on *.* to test_root@localhost;
Query OK, 0 rows affected (0.00 sec)
#给予创建好的用户所有数据库所有表的权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#刷新权限表
mysql>quit
2,数据库的一些基础操作
登录
mysql -h主机名 -u用户名 -p密码
==登陆自己主机时,主机名参数可省略==
增删改查:增
mysql> create database test_db;
Query OK, 1 row affected (0.00 sec)
#创建数据库test_db
mysql> use test_db
Database changed
#选中刚刚创建的数据库,注意所有与表相关的命令必须得通过该命令指定目标表所在数据库之后方可进行
mysql>create table test_tab(id int,测试名称 varchar(20),所属项目名称 varchar(20));
Query OK, 0 rows affected (0.01 sec)
#创建一个名为test_tab的数据表,其中包含数据类型为int的字段id,数据类型为varchar(20)的字段测试名称等
#语法为create table 表名(字段名 数据类型,字段名 数据类型,...)
==一个数据表创建的时候必须有至少一个字段存在==
mysql> INSERT INTO test_tab(id,测试名称,所属项目名称) VALUES('1','MySQL测试','MySQL基础');
Query OK, 1 row affected (0.93 sec)
#为test_tab数据表添加一行数据语法为INSERT INTO test_tab(字段1,字段2,字段3,...) VALUES('值1','值2','值3',...);
==注意:涉及语法的部分的符号必须使用英文符号,值最好使用''标注==
mysql> alter table test_tab add 测试进度 varchar(10) default '0%';
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
#在表test_tab的最后位置添加一个新的字段并设置该字段默认值
#语法为alter table 表名 add 字段名 数据类型;
==如果需要设置该字段的默认值就直接在该语句末尾加上 default '值' 如上示例语句==
增删改查:查
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test_db |
+--------------------+
5 rows in set (0.00 sec)
#显示所有数据库,当你权限足够时
mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| test_tab |
+-------------------+
1 row in set (0.01 sec)
#显示所有该数据库下的表,需要查询哪个数据库就需要先用use命令选中
mysql> SELECT * FROM test_tab;
+------+--------------+--------------------+--------------+
| id | 测试名称 | 所属项目名称 | 测试进度 |
+------+--------------+--------------------+--------------+
| 1 | MySQL测试 | MySQL基础 | 0% |
+------+--------------+--------------------+--------------+
1 row in set (0.00 sec)
#查询test_tab表达所有数据
mysql> SELECT id FROM test_tab;
+------+
| id |
+------+
| 1 |
+------+
1 row in set (0.09 sec)
#查询test_tab表的某字段,语法:SELECT 字段名,字段名,... FROM 表名;
mysql> SHOW COLUMNS FROM test_tab;
+-------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| 测试名称 | varchar(20) | YES | | NULL | |
| 所属项目名称 | varchar(20) | YES | | NULL | |
| 测试进度 | varchar(10) | YES | | 0% | |
+-------------------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
#查询该数据库下test_tab表的字段属性
mysql>SELECT user, host FROM mysql.user;
#查询mysql的用户列表,一般情况需要拥有管理员权限的用户才能查找
增删改查:删
mysql> DELETE FROM test_tab WHERE id=1;
Query OK, 1 row affected (0.01 sec)
#删除数据库中字段id为1的一整行数据,该命令详细解析请到菜鸟教程-MySQL教程查找
mysql> ALTER TABLE test_tab DROP 测试进度;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
#删除'测试进度'字段
mysql> DROP TABLE test_tab;
Query OK, 0 rows affected (0.01 sec)
#删除数据表'test_tab'
mysql> drop database test_db;
Query OK, 0 rows affected (0.01 sec)
#删除数据库'test_db'
mysql> DROP USER test_root22@localhost;
Query OK, 0 rows affected (0.36 sec)
#删除用户'test_root22';语法:DROP USER 用户名@主机名
增删改查:改
该部分本文章不提供具体讲解,如有需要请查阅菜鸟教程-MySQL教程的where子句,update更新;另外作者不建议liunx新手使用菜鸟教程的MySQL安装教程,在liunx系统中不同版本的系统安装方式不同