从零开始学 MySQL -- 创建数据库并插入数据

阅读本文大概需要 8.88 分钟

前言

上篇文章介绍了学习 MySQL 的重要性,那么从今天开始,咋们就正式进入 MySQL 的学习之路了,话不多说,一起来学习吧!

1、目录

今天学习的主要内容有

  • 介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识。

  • 在 Linux 环境里创建一个名为 mysql_shiyan 的数据库。

  • 在数据库创建两张表 employee 和 department,分别表示员工表和部门表。

2、知识点

  • 基本数据类型

  • 插入数据

3、准备

在使用 Linux 环境进行本次学习之前,先用以下两条命令打开 MySQL 服务并使用 root 登录:

# 打开 MySQL 服务
sudo service mysql start


#使用 root 用户登录,密码为空
mysql -u root -p

后续的步骤都在 MySQL 的控制台输入命令进行操作。

3.1 创建数据库

首先,我们创建一个数据库,给它取一个名字,比如 mysql_shiyan,后续的步骤也是对 mysql_shiyan 这个数据库来进行操作。

注意语句格式为 CREATE DATABASE <数据库名字>;(注意不要漏掉分号 ;),前面的 CREATE DATABASE 也可以使用小写,具体命令为:

CREATE DATABASE mysql_shiyan;

创建成功后输入命令 show databases; (注意不要漏掉;)检查一下:

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

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

为了养成严谨的习惯,尤其是初学者,而且便于区分保留字(保留字(reserved word):指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。)和变量名,建议平时就注意下,一般把保留字大写,把变量和数据小写。

3.2 连接数据库

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

use mysql_shiyan;

如下图显示,则表示数据库连接成功。

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

3.3 数据表

数据表(table)简称表,它是数据库最重要的组成部分之一。数据库只是一个框架,表才是其中的实质内容。这个也好理解,因为我们实际上是操作数据库里的数据表的数据。

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

3.4 新建数据表

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

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

接下来,我们试着在 mysql_shiyan 中新建一张表 employee,表示员工表,包含姓名,ID 和电话信息,语句参考如下:

CREATE TABLE employee (id int(10),name char(20),phone int(18));

然后再创建一张表 department,表示部门表,包含名称和电话信息,为了让命令看起来更整洁,你也可以在 MySQL 终端里这样输入命令:

这时候执行 show tables; 命令,就能看到刚才添加的两张表:

3.5 数据类型

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

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

对于初学者来说,有几个区别需要在这里说一下,这里可以简单做个了解,为后面的知识点的学习打下基础:

CHAR 和 VARCHAR 的区别

CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10)来说,表示存储的字符将占 10 个字节(包括 7 个空字符);

而同样的对于 VARCHAR(12) 来说则只占用4个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。

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

有兴趣的,想要了解更多关于 MySQL 数据类型的信息,可以阅读 MySQL的官方文档:

https://dev.mysql.com/doc/ 

或者其它文章,这里就不啰嗦了。

3.6 插入数据

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

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

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

我们试试向 doubi 表中加入 xiaobai、xiaolan 和 xiaohong:

INSERT INTO doubi(id,name,phone) VALUES(01,'xiaobai',110110110);
INSERT INTO doubi VALUES(02,'xiaolan',119119119);
INSERT INTO doubi(id,name) VALUES(03,'xiaohong');

聪明的朋友可能已经注意到了,有的数据需要用单引号括起来,比如 xiaobai、xiaolan 和 xiaohong 的名字。这是由于它们的数据类型是 CHAR 型。

此外VARCHAR,TEXT,DATE,TIME,ENUM 等类型的数据也需要单引号修饰,而 INT,FLOAT,DOUBLE 等则不需要。

我们可看到,第一条语句比第二条语句多了一部分:(id,name,phone) 这个括号里列出的,是将要添加的数据 (01,'xiaobai',110110110) 其中每个值在表中对应的列。

而第三条语句只添加了 (id,name) 两列的数据,所以接下来查询的时候,可以看到表中 xiaohong 的 phone 为 NULL。

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

4、总结

经过本次的实验学习,我们已经有了一个名为 mysql_shiyan 的数据库,在数据库里面,有两张表,并且在其中一张表中插入了一些数据。

建议大家跟着系列文章,务必完整地在自己的环境中操作一遍,光看不练假把式,在实践中,一步步来熟练 SQL 语句的使用。今天的学习就到这里啦。

如果大家在阅读的过程中,有什么建议和看法,非常欢迎在下方留言,每个留言我都会认真看的

推荐阅读:

从零开始学习 MySQL 系列--基础三剑客在宇宙中心五道口上班,是怎样一种体验

入职半个月的一些思考

认真的人,自带光芒!

原创不易

点个在看哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值