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/ ...
随机推荐
- 实战:Nginx如何让用户通过用户名和密码认证访问WEB站点
有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问.那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那些 ...
- Windows Socket和Linux Socket编程的区别 ZZ
socket相关程序从Windows移植到Linux下需要注意的: 1)头文件 Windows下winsock.h/winsock2.h Linux下sys/socket.h 错误处理:errno.h ...
- LNMP-day2-进阶
部署LNMP环境 http://www.cnblogs.com/wazy/p/8386493.html 安装部署wordpress #下载wordpress [root@locahost downlo ...
- [BZOJ 2186][SDOI 2008] 莎拉公主的困惑
2186: [Sdoi2008]沙拉公主的困惑 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 4519 Solved: 1560[Submit][S ...
- [Codeup 25482] Beauty
25482: Beauty 时间限制: 1 Sec 内存限制: 128 MB献花: 7 解决: 3[献花][花圈][TK题库] 题目描述 一年一度的星哥选美又拉开了帷幕 N个人报名参加选拔,每个人 ...
- Pip批量安装/卸载包
pip批量安装package 将需要安装的包保存在requirements.txt中 cd到aa.txt所在目录,运行: pip install -r requirements.txt pip批量卸载 ...
- 原生js模仿jq fadeIn fadeOut效果 兼容IE低版本
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- struts2(2.0.x到2.1.2版本)的核心和工作原理(转)
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...
- freemarker模板加载TemplateLoader常见方式
使用过freemarker的肯定其见过如下情况: java.io.FileNotFoundException: Template xxx.ftl not found. 模板找不到.可能你会认为我明明指 ...
- windows C++ new/delete内存大小
转载自:https://blog.csdn.net/will_hsbsch/article/details/21124055 windows 上,但使用C++语言new一块内存,用指针P指向这块内存, ...