任务一 创建数据库和表


@


班级 姓名
软件工程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数据库实验:任务一 创建数据库和表的更多相关文章

  1. 跟我学Windows Azure 二 使用SQL Azure创建数据库服务器,创建数据库,创建表

    登陆Windows Azure门户 输入我们上一节课所注册的帐号及密码,点击登陆. 选择SQL 数据库,选择服务器 选择创建数据库服务器 设置访问数据库服务器的登陆帐号及密码 点击确定完成数据库服务器 ...

  2. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...

  3. mysql命令行下创建数据库,创建表,插入数据,查询数据

    1.创建数据库 mysql> create DATABASE booktik -> ;Query OK, 1 row affected (0.02 sec) 2.创建表 mysql> ...

  4. mysql cmd命令行 创建数据库 表 基础语句

    一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...

  5. mysql中如何在创建数据库的时候指定数据库的字符集?

    需求描述: 在创建DB的时候指定字符集. 操作过程: 1.使用create database语句创建数据库 mysql> create database if not exists test03 ...

  6. (笔记)Mysql命令create:创建数据库

    create命令用于创建数据库. create命令格式:create database <数据库名>; 注意:创建数据库之前要先连接Mysql服务器. 1) 建立一个名为xhkdb的数据库 ...

  7. Oracle数据库实验一建立数据库

    实验日期:   2019 年  09 月  24  日 实验报告日期:   2019  年  09 月  28 日 一.      实验目的 熟悉oracle环境: 熟练掌握和使用PL-SQL建立数据 ...

  8. MySQL学习笔记(4) - 创建数据库

    1.建立一个简单的数据库 CREATE DATABASE t1: 图中如果未打:号,系统会等待直到用户输入结束符才会之行语句. 2.查看当前服务器下数据库列表 SHOW DATABASES; 必须是D ...

  9. shell安装mysql,连接数据库,创建数据库

    https://blog.csdn.net/yhflyl/article/details/83061126 https://blog.csdn.net/wyl9527/article/details/ ...

随机推荐

  1. java笔记-修改javadoc为中文API信息

    Eclipse 默认的Javadoc API是英文版的,修改成中文版本的API步骤为: --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/ ...

  2. winform ComboBox控件反选

    winform ComboBox控件反选:int index = comboBox1.FindString(textBox2.Text); comboBox1.SelectedIndex = inde ...

  3. Python学习---重点模块的学习【all】

    time     [时间模块] import time # print(help(time)) # time模块的帮助 print(time.time()) # 时间戳 print(time.cloc ...

  4. [EffectiveC++]item23:Prefer non-member non-friend functions to member functions

    99页 导致较大封装性的是non-member non-friend函数,因为它并不增加“能否访问class内之private成分”的函数数量.

  5. 在Android Studio2.3中配置OpenCV4Android SDK

    在Android Studio2.3中配置OpenCV4Android SDK 一,OpenCV4Android下载地址 [2.4.11]http://onhdz331f.bkt.clouddn.co ...

  6. BZOJ 1002 轮状病毒 矩阵树定理

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1002 题目大意: 给定n(N<=100),编程计算有多少个不同的n轮状病毒 思路 ...

  7. 【[国家集训队]Crash的数字表格 / JZPTAB】

    这道题我们要求的是 \[\sum_{i=1}^N\sum_{j=1}^Mlcm(i,j)\] 总所周知\(lcm\)的性质不如\(gcd\)优雅,但是唯一分解定理告诉我们\(gcd(i,j)\time ...

  8. 笔试面试之C++

    7 类B是类A的公有派生类, 类A和类B中都定义了虚函数func(), p 是一个指向类A对象的指针,则p->A::func()将() A 调用类A中的函数 B 调用类B中的函数 C 根据p所指 ...

  9. C/C++——存储

    关于各内存空间: 栈(stack):变量,数组.栈的大小是2M(也有的是1M),反正不大,一般递归写错了,没有出口,都会报错stack overflow. 全局区(静态区):全局变量.数组,静态变量. ...

  10. [转载] MySQL数据库5.X版本基本手工注入总结

    MySQL数据库5.X版本基本手工注入总结 根据我对MySQL的认识,注入时,基本可以通过爆.盲注.报错三种方式获得用户名和密码,在权限足够的情况下,还可以直接通过SQL语句插入并导出我们的一句话we ...