您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MySQL

MySQL基础入门《2》创建数据库并插入数据

时间:01-29来源:作者:点击数:

创建数据库并插入数据

针对Linux环境中的MySQL

0.启动mysql

sudo service mysql start
mysql -u root

1.创建数据库

首先,我们创建一个数据库,给它一个名字,比如 mysql_test, 语句格式为 CREATE DATABASE <数据库名字>;,(注意不要漏掉分号 ;),前面的 CREATE DATABASE 也可以使用小写,具体命令为:

CREATE DATABASE mysql_test;
在这里插入图片描述

show一下看看有没有成功创建

show databases;
在这里插入图片描述

这里可以看到创建成功。

在大多数系统中,SQL 语句都是不区分大小写的,因此以下语句都是合法的:

CREATE DATABASE name1;
create database name2;
CREATE database name3;
create DAtabaSE name4;

但是出于严谨,而且便于区分保留字(保留字(reserved word):指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。)和变量名,我们把保留字大写,把变量和数据小写。

2.连接数据库

接下来的操作,就在刚才创建的 mysql_test 中进行,由于一个系统中可能会有多个数据库,要确定当前是对哪一个数据库操作,使用语句 use

use mysql_test;
在这里插入图片描述

输入命令 show tables; 可以查看当前数据库里有几张表,现在 mysql_shiyan 里还是空的:

show tables;
在这里插入图片描述

3.新建数据表

数据表(table)简称表,它是数据库最重要的组成部分之一。数据库只是一个框架,表才是实质内容。

而一个数据库中一般会有多张表,这些各自独立的表通过建立关系被联接起来,才成为可以交叉查阅、一目了然的数据库。如下便是一张表:

id name age
01 ximing 10
02 xihua 13
03 xili 13

在数据库中新建一张表的语句格式为:

CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);

我们尝试在 mysql_test 中新建一张表 test,包含姓名,ID 和年龄,所以语句为:

CREATE TABLE test(id int(10),name char(20),age int(12);
在这里插入图片描述

然后再创建一张表 test_a,包含名称和电话信息,想让命令看起来更整洁,你可以这样输入命令:

在这里插入图片描述

这时候再 show tables; 一下,可以看到刚才添加的两张表:

在这里插入图片描述

4.数据类型

在刚才新建表的过程中,我们提到了数据类型,MySQL 的数据类型和其他编程语言大同小异,下表是一些 MySQL 常用数据类型:

数据类型 大小(字节) 用途 格式

INT 4 整数

FLOAT 4 单精度浮点数

DOUBLE 8 双精度浮点数

ENUM – 单选,比如性别 ENUM(‘a’,‘b’,‘c’)

SET – 多选 SET(‘1’,‘2’,‘3’)

DATE 3 日期 YYYY-MM-DD

TIME 3 时间点或持续时间 HH:MM:SS

YEAR 1 年份值 YYYY

CHAR 0~255 定长字符串

VARCHAR 0~255 变长字符串

TEXT 0~65535 长文本数据

整数除了 INT 外,还有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。

CHAR 和 VARCHAR 的区别: CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10),表示存储的字符将占 10 个字节(包括 7 个空字符),而同样的 VARCHAR(12) 则只占用 4 个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。

ENUM 和 SET 的区别: ENUM 类型的数据的值,必须是定义时枚举的值的其中之一,即单选,而 SET 类型的值则可以多选

5. 插入数据

刚才我们新建了两张表,使用语句 SELECT * FROM test; 查看表中的内容,可以看到 test 表中现在还是空的

在这里插入图片描述

我们通过 INSERT 语句向表中插入数据,语句格式为:

INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);

我们尝试向 test 中加入 a、b和 c:

INSERT INTO test(id,name,age) VALUES(01,'a',10);
INSERT INTO test VALUES(02,'b',11);
INSERT INTO test(id,name) VALUES(03,'c');
在这里插入图片描述

有的数据需要用单引号括起来,比如 a、b、c 的名字,这是由于它们的数据类型是 CHAR 型。此外 VARCHAR,TEXT,DATE,TIME,ENUM 等类型的数据也需要单引号修饰,而 INT,FLOAT,DOUBLE 等则不需要。

第一条语句比第二条语句多了一部分:(id,name,age) 这个括号里列出的,是将要添加的数据 (01,‘a’,10) 其中每个值在表中对应的列。而第三条语句只添加了 (id,name) 两列的数据,所以在表中 c 的age 为 NULL。

现在我们再次使用语句 SELECT * FROM test; 查看test 表,可见 相关数据已经保存在其中了:

在这里插入图片描述
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门