深入探索MariaDB:从创建到容器化部署
立即解锁
发布时间: 2025-08-26 00:19:00 阅读量: 16 订阅数: 18 AIGC 


构建现代Linux实验室:DevOps实践指南
### 深入探索 MariaDB:从创建到容器化部署
#### 1. 创建数据库与表
在使用 MariaDB 时,成功创建数据库是第一步。当看到如下结果时,就意味着数据库创建成功,并且 `webuser` 用户具备使用该数据库的权限:
```plaintext
+--------------------+
| information_schema |
| mydatabase |
+--------------------+
2 rows in set (0.01 sec)
```
创建数据库表时,必须为每列定义类型和长度。例如,列可以是整数、文本、日期等。合理设置字段长度至关重要,以美国州名和城市名为例,州名列长度应不小于 13 个字符,城市名列长度可设为 17 个字符,这样能确保容纳最长的名称。若字段长度过小,数据会被截断;若过长,会浪费空间并影响查询性能。
以下是创建 `mydatabase` 数据库中 `my_users` 表的具体步骤:
1. 以 `webuser` 身份登录 MariaDB:
```bash
$ sudo mysql -u webuser -p
```
2. 切换到 `mydatabase` 数据库:
```sql
MariaDB [(none)]> USE mydatabase;
```
3. 创建 `my_users` 表:
```sql
MariaDB [(mydatabase)]> CREATE TABLE my_users (
user_id INT(3) NOT NULL AUTO_INCREMENT,
user_first VARCHAR(30) NOT NULL,
user_last VARCHAR(30) NOT NULL,
PRIMARY KEY ( user_id )
);
```
在这个表中,`user_id` 字段用于唯一标识每一行数据,设置为自增整数,方便引用。`user_first` 和 `user_last` 字段存储用户的名和姓,使用 `VARCHAR(30)` 类型,这意味着存储的字符串长度可变,最大为 30 个字符,相比固定长度的 `CHAR` 类型更节省资源且更灵活。`PRIMARY KEY` 确保每行数据有唯一标识,`NOT NULL` 保证插入数据时这些字段不能为空,有助于维护数据完整性。
创建完成后,可以通过以下命令确认表是否按预期创建:
```sql
MariaDB [mydatabase]> SHOW tables;
+----------------------+
| Tables_in_mydatabase |
+----------------------+
| my_users |
+----------------------+
```
```sql
MariaDB [mydatabase]> DESCRIBE my_users;
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| user_id | int(3) | NO | PRI | NULL | auto_increment |
| user_first | varchar(30) | NO | | NULL | |
| user_last | varchar(30) | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+
```
#### 2. 向表中添加数据
数据库表若没有数据,就失去了大部分价值。使用 `INSERT` 语句可以向表中添加数据,其基本格式为:
```sql
INSERT INTO <tablename> (<column1>, <column2>) VALUES ('<value1>', '<value2>');
```
以 `my_users` 表为例,添加第一行数据的步骤如下:
```sql
MariaDB [none]> USE mydatabase;
MariaDB [mydatabase]> INSERT INTO my_users (user_first, user_last) VALUES ('John', 'Adams');
```
注意,`user_id` 未包含在字段和值列表中,因为它设置为自增,会由 MariaDB 自动插入。可以多次运行该查询,修改 `VALUES` 中的内容来添加更多数据:
```sql
INSERT INTO my_users (user_first, user_last) VALUES ('Betsy', 'Ross');
INSERT INTO my_users (user_first, user_last) VALUES ('George', 'Washington');
INSERT INTO my_users (user_first, user_last) VALUES ('Ben', 'Franklin');
INSERT INTO my_users (user_first, user_last) VALUES ('Thomas', 'Jefferson');
```
添加数据后,使用 `SELECT` 语句查看表中的值:
```sql
MariaDB [mydatabase]> SELECT * FROM my_users;
+---------+------------+------------+
| user_id | user_first | user_last |
+---------+------------+------------+
| 1 | John | Adams |
| 2 | Betsy | Ross |
| 3 | George | Washington |
| 4 | Ben | Franklin |
| 5 | Thomas | Jefferson |
+---------+------------+------------+
```
#### 3. 更新和删除表中的数据
在 MariaDB 中,更新表中的数据可以使用 `UPDATE` 语句,其格式为:
```sql
UPDATE <table-name> SET <column-name>='<newvalue1>' WHERE <primary-key> = <value>;
```
例如,将 `user_id` 为 5 的用户的 `user_first` 值从 `Thomas` 更新为 `Tom`:
```sql
MariaDB [mydatabase]> UPDATE my_users SET user_first='Tom' WHERE user_id=5;
```
更新后,使用 `SELECT` 语句查看更新结果:
```sql
MariaDB [mydatabase]> SELECT * FROM my_users WHERE user_id=5;
+---------+------------+------------+
| user_id | user_fi
```
0
0
复制全文
相关推荐










