数据库系统--使用SQL管理数据库和表(超详细/设计/实验/作业/练习)

课程名:数据库系统

内容/作用:设计/实验/作业/练习

学习:使用SQL管理数据库和表

一、前言

(1)掌握表的基础知识。
(2)掌握SQL语句创建表的方法。
(3)掌握SQL语句修改、查看、删除表等基本操作方法。
(4)掌握表中完整性约束的定义。
(5)掌握完整性约束的作用。

二、环境与设备

1、设备:Windows 10
2、软件:MySQL 8.0和Navicat 12 for MySQL

三、原理

数据库与表之间的关系:数据库是由各种数据表组成的,数据表是数据库中最重要的对象,用来存储和操作数据的逻辑结构。
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,是一个综合的、通用的、功能极强的,同时又简洁易学的语言。

创建数据库
语法格式:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS ]db_name 
[[DEFAULT] CHARACTER SET charset_name]
[[DEFALUT] COLLATE collation_name]

例:create database MyDB_one;

修改数据库
语法格式:

ALTER {DATABASE | SCHEMA} [db_name] 
[DEFAULT CHARACTER SET charset_name]
| [[DEFAULT] COLLATE collation_name]

例:alter database MyDB_one character set utf8;

删除数据库
语法格式:

DROP DATABASE [IF EXISTS] db_name;
例:drop database MyDB_one;

创建表
创建数据表可使用CREATE TABLE命令。
语法格式:

CREATE  [TEMPORARY] TABLE [IF NOT EXISTS] table_name
[  (  [ column_definition ], … |  [ index_definition ]  ) ]
[table_option] [select_statement];

例:create table Phone_table(pid INT, name CHAR(20), price INT);

CREATE TABLE `department` (
  `dno` char(4) DEFAULT NULL COMMENT '系编号',
  `dname` char(20) NOT NULL COMMENT '系名',
  KEY `dno` (`dno`)
)

修改表
语法格式:

alter [ ignore] table table_name alter_specification [, 
	  alter_specification]
add [column] column_definition[ first | after col_name]       //添加字段
| alter [column] col_name {set default literal | drop default}.+
| change [column] old_col_name column_definition [first| after col_name]			
| modify [column] column_definition [first | after col_name] //修改字段
| drop [column] col_name						//删除列
| rename [to] new_table_name						//对表重命名
| order by col_name							//按字段排序
| convert to character set character_name [collate collation_name]
									//将字段集转化为二进制
| [default] character set charset_name [collate collation_name//修改字符集

例:alter table Phone_table modify name VARCHAR(12);


删除表
删除表可以用DROP TABLE 命令
语法格式:

drop table [if exists] table_name [,table_name] …
例:drop table Phone_table;

四、内容

(一) 数据库管理

(一) 用SQL管理数据库
(1) 创建名为schoolInfo的数据库,在创建之前先判断数据库是否存在。
SQL语句:

drop database if exists schoolInfo;
create database schoolInfo;

(2) 选择schoolInfo为当前数据库。
SQL语句:

Use schoolInfo;

(二) 用SQL定义数据库表

(1) 在schoolInfo数据库中用SQL创建teacherInfo表,表结构如下:
在这里插入图片描述

SQL语句:

在这里插入图片描述

(2) 在schoolInfo数据库中用SQL创建specialty表,表结构如下:
在这里插入图片描述
SQL语句:
在这里插入图片描述
(3) 在schoolInfo数据库中用SQL创建Student表,表结构如下:
在这里插入图片描述

SQL语句:

在这里插入图片描述

(三) 表定义与修改操作

(1) 在teacherInfo表中增加入职时间(hiredate),其数据类型为日期型。
SQL语句:
在这里插入图片描述
在这里插入图片描述

五、总结与分析

用SQL显示表结构有几种方法?有什么不同?
有两种结构:desc 表名; show cloumns from 表名。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员老茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值