MySQL 基础课程 2
来源:互联网 发布:怎么学软件 编辑:程序博客网 时间:2024/04/27 05:16
创建数据库并插入数据
一、实验介绍
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 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(12));
然后再创建一张表 department
,包含名称和电话信息,想让命令看起来更整洁,你可以这样输入命令:
这时候再 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 中的数据类型介绍
- 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(id,name,phone) VALUES(01,'Tom',110110110);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 约束的学习。
五、课后习题
- 根据实验内容完整地练习一遍,并保存截图;
- 新建一个名为library的数据库,包含 book、reader 两张表,根据自己的理解安排表的内容并插入数据。保存截图。
- MySQL 基础课程 2
- [MYSQL]基础课程笔记2-整型
- MySQL 基础课程 1
- [MYSQL]基础课程笔记1-基础语句
- [MYSQL]基础课程笔记3-浮点型
- 学习笔记---零基础精通PHP+MySQL网络编程课程2
- 小飞鱼通达商务平台课程 OA开发程序基础课 2月25日 mySQL基础作业
- 零基础精通PHP+MySQL网络编程课程
- 零基础精通PHP+MySQL网络编程课程
- 零基础精通PHP+MySQL网络编程课程
- php教程MYSQL学习视频PHP程序员基础视频课程
- 关于linuxcast网站课程中MYSQL安装配置基础课程的个人笔记
- HTML+CSS基础课程学习(2)
- 计算机软件技术基础课程
- 销售基础培训课程
- 重要的基础课程
- 基础课程狂补中......
- CSS基础课程
- 用循环数组实现队列
- oozie_bug
- 修改MTCNN中caffe源码,时计算loss时以对应标签是否为“-1”判别
- 设计模式之观察者模式
- vue.js渲染时间戳
- MySQL 基础课程 2
- activemq与spring整合
- 《Android 插件化框架VirtualAPK :(一)基本集成》
- equals()方法详解
- duilib 如何实现初始化时最大化窗口以及禁止窗口双击放大和移动窗口
- Apache HttpCore官方教程笔记
- 集合的一些小练习
- 弹性盒布局、多列布局、媒体查询
- Ubuntu下leveldb的安装使用(C++中)