美文网首页
创建数据库并插入数据

创建数据库并插入数据

作者: 新海说 | 来源:发表于2018-04-30 22:12 被阅读42次

    一、实验介绍

    1.1 实验内容

    本次课程将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识。本节实验将创建一个名为 mysql_shiyan 的数据库,其中有两张表 employee 和 department。

    1.2 实验知识点

    基本数据类型
    插入数据

    1.3 实验环境

    课程使用的实验环境为 Ubuntu Linux 14.04 64 位版本。实验中会用到程序:

    Mysql 5.5.50
    Xfce终端

    二、开发准备

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

    打开 MySQL 服务
    sudo service mysql start

    使用 root 用户登录,密码为空
    mysql -u root
    后续的实验都在 MySQL 的控制台输入命令进行操作。

    三、实验步骤

    3.1 新建数据库

    首先,我们创建一个数据库,给它一个名字,比如 mysql_shiyan,以后的几次实验也是对 mysql_shiyan 这个数据库进行操作。 语句格式为 CREATE DATABASE <数据库名字>;,(注意不要漏掉分号 ;),前面的 CREATE DATABASE 也可以使用小写,具体命令为:

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

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

    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)简称表,它是数据库最重要的组成部分之一。数据库只是一个框架,表才是实质内容。

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

    01  Tom 110110110
    02  Jack    119119119
    03  Rose    114114114
    

    3.4 新建数据表

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

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

    我们尝试在 mysql_shiyan 中新建一张表 employee,包含姓名,ID 和电话信息,所以语句为:

    CREATE TABLE employee (id int(10),name char(20),phone int(12));
    然后再创建一张表 department,包含名称和电话信息,想让命令看起来更整洁,你可以这样输入命令:

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

    3.5 数据类型

    在刚才新建表的过程中,我们提到了数据类型,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 类型的值则可以多选。

    想要了解更多关于 MySQL 数据类型的信息,可以参考下面两篇博客。

    MySQL 中的数据类型介绍
    MySQL 数据类型

    3.6 插入数据

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

    刚才使用的SELECT语句将在下一节实验中详细介绍

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

    INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
    我们尝试向 employee 中加入 Tom、Jack 和 Rose:

    
    INSERT INTO employee VALUES(02,'Jack',119119119);
    
    INSERT INTO employee(id,name) VALUES(03,'Rose');
    

    你已经注意到了,有的数据需要用单引号括起来,比如 Tom、Jack、Rose 的名字,这是由于它们的数据类型是 CHAR 型。此外 VARCHAR,TEXT,DATE,TIME,ENUM 等类型的数据也需要单引号修饰,而 INT,FLOAT,DOUBLE 等则不需要。

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

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

    四、实验总结

    经过本次实验,我们已经有了一个名为 mysql_shiyan 的数据库,其中有两张表,我们已经向其中插入了一些数据。务必完整地操作一遍,以熟练SQL语句的使用。下一节我们将进入 SQL 约束的学习。

    实验人:新海
    实验平台:实验楼
    实验时间:4.30日

    相关文章

      网友评论

          本文标题:创建数据库并插入数据

          本文链接:https://www.haomeiwen.com/subject/zlptrftx.html