MySQL数据库实验:任务一 创建数据库和表
任务一 创建数据库和表
@
| 班级 | 姓名 |
|---|---|
| 软件工程16-9班 | 洪燕妮 |
【实训目的与要求】
1、安装MySQL系统,了解MySQL环境;
2、利用MySQL命令行窗口创建数据库及表;
3、利用界面工具创建数据库及表;
4、完整性约束设计。
【实训原理】
DBMS环境的使用
【实训步骤】
一、熟悉MySQL环境
1.检查软硬件配置是否达到MySQL的安装要求。
(1)硬件
(2)软件
2.安装数据库管理系统MySQL服务器。

3.练习用不同的方法启动MySQL服务。
(1).通过Windows服务管理器启动MYSQL服务

(2).通过DOS命令启动MYSQL服务

4.登录MySQL服务器。

5.认识MySQL界面工具:Navicat for MySQL客户端工具


6.利用MySQL客户端访问数据库
(1)使用SHOW语句查看系统中已有的数据库:
命令:show databases;

(2)使用USE语句选择MySQL数据库为当前数据库:
命令:use mysql;

(3)使用SHOW TABLES语句查看当前数据库中的表:
命令:show databases;

二、利用MySQL命令行窗口创建数据库及表
1.使用命令行方式创建数据库SM
以管理身份登录MySQL客户端,使用CREATE语句创建SM数据库。
命令:

2.建表结构并设计完整性
SM数据库中包含3个数据表:学生表(student)、课程表(course)、学生选课表(SC)。 各表的结构分别如下:
- student表结构:
| 字段名称 | 数据类型 | 是否允许空值 | 约束 | 说明 |
|---|---|---|---|---|
| SNo | char(8) | × | 主键 | 学号 |
| SName | varchar(8) | × | 唯一值 | 姓名 |
| SSex | char(2) | × | 检查约束 | 性别(男或女) |
| SBir | datetime | √ | 出生日期 | |
| Scredits | int | √ | 总学分 |
- course表结构:
| 字段名称 | 数据类型 | 是否允许空值 | 约束 | 说明 |
|---|---|---|---|---|
| CNo | char(5) | × | 主键 | 课程编号 |
| CName | varchar(30) | × | 唯一值 | 课程名称 |
| CPno | char(5) | √ | 外码 | 先修课程 |
| CTime | decimal(3,0) | √ | 总学时 | |
| CCredits | int | √ | 默认值4 | 学分 |
| CTerm | char(1) | × | 学期 |
- SC表结构:
| 字段名称 | 数据类型 | 是否允许空值 | 约束 | 说明 |
|---|---|---|---|---|
| SNo | char(8) | × | 外码 | 学号 |
| CNo | char(5) | × | 外码 | 课程编号 |
| Score | decimal(3,1) | √ | 0~100 | 成绩 |
(1)创建student表
命令:
mysql> create table student
-> (
-> SNo char(8) NOT NULL PRIMARY KEY,
-> SName varchar(8) NOT NULL UNIQUE,
-> SSex char(2) NOT NULL CHECK(SSex IN('男','女')),
-> SBir datetime,
-> Scredits int
-> );
截图:


(2)创建course表
命令:
mysql> CREATE TABLE course
-> (
-> CNo char(5) NOT NULL PRIMARY KEY,
-> CName varchar(30) NOT NULL UNIQUE,
-> CPno char(5),
-> CTime decimal(3,0),
-> CCredits int DEFAULT 4,
-> CTerm char(1),
-> FOREIGN KEY (CPno) REFERENCES course(CNo)
-> );
截图:


(3)创建SC表
命令:
mysql> CREATE TABLE SC
-> (
-> SNo char(8) NOT NULL,
-> CNo char(5) NOT NULL,
-> Score decimal(3,1) CHECK(Score>=0 AND Score<=100),
-> PRIMARY KEY(SNo,CNo),
-> FOREIGN KEY(SNo) REFERENCES student(SNo),
-> FOREIGN KEY(CNo) REFERENCES course(CNo)
-> );
截图:


三、利用界面工具创建数据库及表
利用Navicat for MySQL客户端工具创建数据库SM1,并根据上面给出的表结构在SM1中创建各表。
1.建库SM1
截图:

2.建表
(1)创建student表
截图:

(2)创建course表
截图:

(3)创建SC表
截图:


【实训总结】
1.初期时在安装老师给的MYSQL5.5时出现问题,安装成功但不能通过DOS命令行启动,然后通过同学的帮忙,安装了MYSQL5.0并成功启动。
2.在创建表时,对表的完整性约束条件表达不够清楚,通过查阅书籍逐渐尝试而建表成功。
主码PRIMARY KEY
唯一值UNIQUE
不为空NOT NULL
外码FOREIGN KEY
默认值DEFAULT
取值范围CHECK(Score>=0 AND Score<=100)
3.使用Navicat时不够熟练,要多加练习,遇到问题要及时解决,并从中吸取经验。
MySQL数据库实验:任务一 创建数据库和表的更多相关文章
- 跟我学Windows Azure 二 使用SQL Azure创建数据库服务器,创建数据库,创建表
登陆Windows Azure门户 输入我们上一节课所注册的帐号及密码,点击登陆. 选择SQL 数据库,选择服务器 选择创建数据库服务器 设置访问数据库服务器的登陆帐号及密码 点击确定完成数据库服务器 ...
- 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)
当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...
- mysql命令行下创建数据库,创建表,插入数据,查询数据
1.创建数据库 mysql> create DATABASE booktik -> ;Query OK, 1 row affected (0.02 sec) 2.创建表 mysql> ...
- mysql cmd命令行 创建数据库 表 基础语句
一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...
- mysql中如何在创建数据库的时候指定数据库的字符集?
需求描述: 在创建DB的时候指定字符集. 操作过程: 1.使用create database语句创建数据库 mysql> create database if not exists test03 ...
- (笔记)Mysql命令create:创建数据库
create命令用于创建数据库. create命令格式:create database <数据库名>; 注意:创建数据库之前要先连接Mysql服务器. 1) 建立一个名为xhkdb的数据库 ...
- Oracle数据库实验一建立数据库
实验日期: 2019 年 09 月 24 日 实验报告日期: 2019 年 09 月 28 日 一. 实验目的 熟悉oracle环境: 熟练掌握和使用PL-SQL建立数据 ...
- MySQL学习笔记(4) - 创建数据库
1.建立一个简单的数据库 CREATE DATABASE t1: 图中如果未打:号,系统会等待直到用户输入结束符才会之行语句. 2.查看当前服务器下数据库列表 SHOW DATABASES; 必须是D ...
- shell安装mysql,连接数据库,创建数据库
https://blog.csdn.net/yhflyl/article/details/83061126 https://blog.csdn.net/wyl9527/article/details/ ...
随机推荐
- 在notepad++中快速插入当前时间方法
插件是notepad++的一大优势,而要实现此功能,也必须借助TextFX插件. 1.点击"插件"-->"Plugin Manager"-->&qu ...
- java笔记--重定向输出流实现程序输出到日志
重定向输出流实现程序输出到日志 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3877248.html "谢谢-- 利用Sy ...
- 快速设置UITableView不同section对应于不同种类的cell
快速设置UITableView不同section对应于不同种类的cell 本文主要是为了写明如何在UITableView中,一个section对应于一种类型的cell,写起来不凌乱. 在不封装任何类的 ...
- 进制转换excel版
- python 脚本运行时报错: AttributeError: 'module' object has no attribute ***
最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: 'module' object has no attrib ...
- c++的路上,我坚信,我可以 -----第四次作业体会
第四次作业 传送门 1.浅谈"新对象"sstream和stack 第四次作业,就是在第三次作业上作修改,上周周末,我刚刚才完成了第三次作业,但是知道了队列如何应用,面对这次的sta ...
- JAVAWEB之文件的上传下载
文件上传下载 文件上传: 本篇文章使用的文件上传的例子使用的都是原生技术,servelt+jdbc+fileupload插件,这也是笔者的习惯,当接触到某些从未接触过的东西时,总是喜欢用最原始的东西将 ...
- 大屏FAQ
1. 大屏可以分为哪几类?帆软有哪些大屏硬件合作商?编辑 拼接屏:通常由单个46-55寸的液晶显示屏组成屏幕墙,存在拼缝,借助矩阵.屏控系统来进行信号的输入与输出控制,可以实现屏幕墙上多个屏幕的组合. ...
- java.lang.NoClassDefFoundError: org/aspectj/weaver/tools/PointcutPrimitive
问题:使用Spring时,报错:java.lang.NoClassDefFoundError: org/aspectj/weaver/tools/PointcutPrimitive问题原因: 少了as ...
- Yii2.0 发送文件
1.发送文件 和浏览器跳转类似,文件发送是另一个依赖指定 HTTP 头的功能, Yii 提供方法集合来支持各种文件发送需求,它们对 HTTP 头都有内置的支持. yii\web\Response::s ...