【竺】数据库笔记15——MySQL创建数据库并插入数据(二)

一、操作简介


1.1 操作内容

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

1.2 实验知识点

  • 基本数据类型
  • 插入数据

1.3 实验环境

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

  • Mysql 5.7

二、熟悉MySQL


2.1 打开MySQL

打开前确保,mysql服务开启,

打开mysql

输入安装时的密码即可

2.2 查看数据库

使用命令 show databases;,查看有哪些数据库(注意不要漏掉分号 ;):

2.3 连接数据库

选择连接其中一个数据库,语句格式为 use <数据库名>,这里可以不用加分号,这里我们选择 information_schema 数据库:

2.4 查看表

使用命令 show tables; 查看数据库中有哪些表(注意不要漏掉“;”):

2.5 退出

使用命令 quit 或者 exit 退出 MySQL。


三、实验步骤


3.1 新建数据库

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

CREATE DATABASE mysql_shiyan;

  • 1
  • 1

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

CREATE DATABASE name1;
create database name2;
CREATE database name3;
create DAtabaSE name4;
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

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

3.2 连接数据库

接下来的操作,就在刚才创建的 mysql_shiyan 中进行,

  1. 使用语句 use <数据库名字>
  2. 输入命令 show tables; 可以查看当前数据库里有几张表,现在mysql_shiyan 里还是空的:

3.3 数据表

数据表(table)简称表,它是数据库最重要的组成部分之一。数据库只是一个框架,表才是实质内容。
而一个数据库中一般会有多张表,这些各自独立的表通过建立关系被联接起来,才成为可以交叉查阅、一目了然的数据库。如下便是一张表:

3.4 新建数据表

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

CREATE TABLE employee (id int(10),name char(20),phone int(12));
  • 1
  • 1

然后再创建一张表 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 类型的值则可以多选。

3.6 插入数据

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

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

  • 1
  • 1

我们尝试向 employee 中加入 Tom、Jack 和 Rose:

INSERT INTO employee(id,name,phone) VALUES(01,'Tom',110110110);

INSERT INTO employee VALUES(02,'Jack',119119119);

INSERT INTO employee(id,name) VALUES(03,'Rose');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

你已经注意到了,有的数据需要用单引号括起来,比如 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 的相关数据已经保存在其中了:

3.7 删除数据库及数据表

DROP DATABASE 数据库名; DROP TABLE 数据表名 ;

  • 1
  • 2
  • 1
  • 2

四、实验总结

经过本次实验,有了一个名为 mysql_shiyan 的数据库,其中有两张表,已经向其中插入了一些数据。学习了mysql的数据库数据表创建,连接,插入,查询,认识了数据类型,明白了一些细节区别。

五、练习

新建一个名为 library 的数据库,包含 book、reader 两张表,根据自己的理解安排表的内容并插入数据

#参考代码
create database library;
use library;

create table book(
  book_id int primary key,
  book_name varchar(50) not null
);

create table reader(
  reader_id int primary key,
  reader_name varchar(50) not null
);
  • ​转载:(10条消息) MySQL创建数据库并插入数据(二)_jia666666的博客-CSDN博客_mysql创建数据库
(0)

相关推荐

  • Mysql :(一)

    顶哥说sql语句其实不难,尤其对于那些英语稍好一些的人来说! 最最最重要的就是搞清楚sql语句的执行顺序!!!数据就像沙子, 语句就是筛子, 沙子按照顺序经过给定的筛子,留下来的就是你要的!!!并不是 ...

  • MySQL基础入门使用和命令的使用

    数据库了解 概念 数据库就是一种特殊的文件,其中存储着需要的数据 一个数据库可以有多张表 MySQL是一种关系型数据库 具有关联性数据的就是关系型数据库 MySQL是一种软件可以用来创建mysql数据 ...

  • MySQL快速回顾:数据库和表操作

    前提要述:参考书籍<MySQL必知必会> 利用空闲时间快速回顾一些数据库基础. 4.1 连接 在最初安装MySQL,可能会要求你输入一个管理登录(通常为root)和一个口令(密码). 连接 ...

  • Mysql:初识MySQL

    转载自:https://www.cnblogs.com/hellokuangshen/archive/2019/01/09/10246029.html Mysql:初识MySQL 只会写代码的是码农: ...

  • 【竺】数据库笔记7——Mysql数据库备份

    *. mysql -u username -p password: 这个命令用于输入用户名和密码登陆mysql服务器: *.show databases;:用于查看mysql服务器中的数据库情况(会罗 ...

  • 【竺】数据库笔记2——复制表

    sqlserver中,如果目标表不存在:1select * into 新表名 from 旧表名;sqlserver中,如果目标表已存在:1insert into 新表名 select * from 旧 ...

  • 【竺】数据库笔记3——auto_increment=1是什么意思

    auto_increment=1 这个是 修饰主键primary key,自动增长1.举个简单例子,你的数据库记录有一条记录,stuid为1,当你添加一条记录时,department自动增加1,新增为 ...

  • 【竺】数据库笔记4——enum的使用

    当表里的某个字段,非0即1.类似状态一样,不存在第三种情况. 那么这样如何定义该字段呢? 字段名 enum('0','1');

  • 【竺】数据库笔记5——常见数据库面试题

    【竺】数据库笔记5——常见数据库面试题

  • 【竺】数据库笔记6——内连接、外连接和全连接的区别

    举例说明 假设您有两个表,每个表只有一个列,表数据如下 A B- -1 32 43 54 6 注意,(1,2)是A表唯一的,(3,4)是公共的,并且(5,6)是B表独有的 内连接 内连接是A表的所有行 ...

  • 【竺】数据库笔记1

    学习MySQL主要还是学习通用的SQL语句,那么SQL语句包括增删改查,SQL语句怎么分类呢? DQL(数据查询语言): 查询语句,凡是select语句都是DQL. DML(数据操作语言):inser ...

  • 【竺】数据库笔记8——视图1

    【竺】数据库笔记8——视图1

  • 【竺】数据库笔记9——视图的应用2

    ​视图的含义         视图是一种虚拟的表.视图从数据库中的一个或多个表导出来的表.视图还可以从已经存在的视图的基础 上定义.数据库中只存放了视图的定义,而并没有存放视图中的数据.这些数据存放在 ...