创建数据库和表是数据库管理系统中的一项重要任务,它可以帮助我们将数据存储在一个安全的位置,并且可以被多个用户访问。在创建数据库和表之前,我们需要先了解一些有关数据库的基本概念。
首先,我们需要了解数据库是由表组成的,而表又由字段组成。字段是由不同的数据类型来定义的,例如文本、日期、布尔值、整数等。此外,还可以使用外键来将不同表之间的联系进行连接。
在创建数据库之前,我们需要使用SQL语句来定义所需要的字段、表、外键等信息。例如:
CREATE DATABASE my_database; // 创建一个名为my_database的新数据库 CREATE TABLE my_table ( // 创建一个名为my_table的新表 id INT NOT NULL, // 创建一个id字段,该字段是INT类型并且不能为NULL name VARCHAR(255) NOT NULL, // 创建一个name字段,该字段是VARCHAR(255)类型并且不能为NULL age INT NOT NULL, // 创建一个age字段,该字段是INT类型并且不能为NULL PRIMARY KEY (id) // 这里声明id作为my_table表中的PRIMARY KEY );
上述代码将创建一张含有四列(id, name, age) 的my_table 表。此外,还可以使用ALTER TABLE语句来保留原始表样式并添加新列。例如:
ALTER TABLE my_table ADD COLUMN address VARCHAR(255); // 添加address列
上述代码将在my_table 表中新加入address 字段。此外,还可以使用DROP TABLE 语句来删除已有的表样式。例如:
DROP TABLE my_table; // 删除my_table 表
上述代码将会永久性地删除my_table 表样式。因此,当我们想要对已有的数据库进行保留时就必须牢记上述SQL语句。
在MariaDB数据库管理系统中,一个数据库可以存放多个数据表,数据表单是数据库中最重要最核心的内容。我们可以根据自己的需求自定义数据库表结构,然后在其中合理地存放数据,以便后期轻松地维护和修改。表18-2罗列了后文中将使用到的数据库命令以及对应的作用。
表18-2 用于创建数据库的命令以及作用
命令用法 | 作用 |
---|---|
CREATE database 数据库名称。 | 创建新的数据库 |
DESCRIBE 表单名称; | 描述表单 |
UPDATE 表单名称 SET attribute=新值 WHERE attribute > 原始值; | 更新表单中的数据 |
USE 数据库名称; | 指定使用的数据库 |
SHOW databases; | 显示当前已有的数据库 |
SHOW tables; | 显示当前数据库中的表单 |
SELECT * FROM 表单名称; | 从表单中选中某个记录值 |
DELETE FROM 表单名 WHERE attribute=值; | 从表单中删除某个记录值 |
建立数据库是管理数据的起点。现在尝试创建一个名为linuxprobe的数据库,然后再查看数据库列表,此时就能看到它了:
MariaDB [(none)]> CREATE DATABASE linuxprobe;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> SHOW databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| linuxprobe |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.04 sec)
要想创建数据表单,需要先切换到某个指定的数据库中。比如在新建的linuxprobe数据库中创建表单mybook,然后进行表单的初始化,即定义存储数据内容的结构。我们分别定义3个字段项,其中,长度为15个字符的字符型字段name用来存放图书名称,整型字段price和pages分别存储图书的价格和页数。当执行完下述命令之后,就可以看到表单的结构信息了:
MariaDB [(none)]> use linuxprobe;
Database changed
MariaDB [linuxprobe]> CREATE TABLE mybook (name char(15),price int,pages int);
Query OK, 0 rows affected (0.16 sec)
MariaDB [linuxprobe]> DESCRIBE mybook;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | char(15) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| pages | int(11) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.02 sec)
Manpage 帮助UNIX 命令都有许多可选的和强制性的选项,而忘记这些命令的完整语法是很常见的事情。因为没有人能记住每个 UNIX 命...
Nginx 做为 HTTP 服务器,有以下几项基本特性:处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.无缓存的反向代理加速...
在这一节我们将会对通常的模块开发过程中,每个模块所包含的一些常用的部分进行说明。这些部分有些是必须的,有些不是必须的。同...
出处:http://www.cn-dos.net/forum/viewthread.php?tid=19331『楼 主』: 最强之dos命令 – for (是新手学习FOR语句的好资料) ...