目录
课程名:数据库系统
内容/作用:设计/实验/作业/练习
学习:使用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 表名。