数据库编程技术 第一章

USE myschool;
#练习:使用SQL脚本创建Student表
DROP TABLE IF EXISTS student; 
CREATE TABLE `student`(
    `studentNo` INT(4) NOT NULL COMMENT '学号',
    `loginPwd` VARCHAR(20) NOT NULL COMMENT '密码',
    `studentName` VARCHAR(50) NOT NULL COMMENT '学生姓名',
    `sex` CHAR(2) DEFAULT '' NOT NULL  COMMENT '性别',
    `gradeId` INT(4)  UNSIGNED COMMENT '年级编号',
    `phone` VARCHAR(50)  COMMENT '联系电话',
    `address` VARCHAR(255)  COMMENT '地址',
    `bornDate` DATETIME  COMMENT '出生时间',
    `email` VARCHAR(50) COMMENT'邮件账号',
    identityCard VARCHAR(18)  COMMENT'身份证号码',
    PRIMARY KEY(`studentNo`)    
)
#练习:使用SQL脚本创建grade表
DROP TABLE IF EXISTS grade;
CREATE TABLE `grade`(
   gradeID INT(4) NOT NULL  COMMENT '年级编号',
   gradeName VARCHAR(50) NOT NULL COMMENT'年级名称'
)
练习2
DOS命令行下执行以下指令登录,root密码为root mysql
-u root -proot MySQL Command Line Client下直接输入root密码 #创建MySQL数据库 CREATE DATABASE myschool; #查看数据库 SHOW DATABASES; #删除数据库 DROP myschool;
练习3
#本脚本可提供给学员执行创建表。

USE myschool;
#练习:使用SQL脚本创建Student表
DROP TABLE IF EXISTS student; 
CREATE TABLE `student`(
    `studentNo` INT(4) NOT NULL COMMENT '学号',
    `loginPwd` VARCHAR(20) NOT NULL COMMENT '密码',
    `studentName` VARCHAR(50) NOT NULL COMMENT '学生姓名',
    `sex` CHAR(2) DEFAULT '' NOT NULL  COMMENT '性别',
    `gradeId` INT(4)  UNSIGNED COMMENT '年级编号',
    `phone` VARCHAR(50)  COMMENT '联系电话',
    `address` VARCHAR(255)  COMMENT '地址',
    `bornDate` DATETIME  COMMENT '出生时间',
    `email` VARCHAR(50) COMMENT'邮件账号',
    identityCard VARCHAR(18)  COMMENT'身份证号码',
    PRIMARY KEY(`studentNo`)    
)

#练习:使用SQL脚本创建grade表
DROP TABLE IF EXISTS grade;
CREATE TABLE `grade`(
   gradeID INT(4) NOT NULL  COMMENT '年级编号',
   gradeName VARCHAR(50) NOT NULL COMMENT'年级名称'
)
4
USE myschool;

#如果存在result表,则删除
DROP TABLE IF EXISTS `result`;

#创建result表
CREATE TABLE `result`(
    `studentNo` INT(4) NOT NULL COMMENT '学号',
    `subjectNo` INT(4) NOT NULL COMMENT '课程编号',
    `examDate` DATETIME NOT NULL  COMMENT '考试日期',
    `studentResult` INT(4) COMMENT '考试成绩' NOT NULL
)
5
USE myschool;

#如果subject表已存在,则删除
DROP TABLE IF EXISTS `subject`;

#创建课程表
CREATE TABLE `subject`(
    `subjectNo` INT(4) NOT NULL AUTO_INCREMENT COMMENT '课程编号',
    `subjectName` VARCHAR(50) COMMENT '课程名称',
    `classHour` INT(4) COMMENT '学时',
    `gradeID` INT(4) COMMENT '年级编号' ,  
    PRIMARY KEY (`subjectNo`)
)COMMENT '课程表';
6
USE test;
#创建person表
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person`(
    number INT(4) AUTO_INCREMENT PRIMARY KEY,
    `name` VARCHAR(50) NOT NULL,
    `sex` CHAR(2),
    bornDate DATETIME
)

#将表名修改为tb_person
ALTER TABLE `person` RENAME `tb_person`;
#删除出生日期列
ALTER TABLE `tb_person` DROP COLUMN bornDate;
#添加出生日期列,数据类型为TIME类型
ALTER TABLE `tb_person` ADD COLUMN bornDate DATE;
#修改序列号列名(number)为id,类型改为BIGINT类型
ALTER TABLE `tb_person` CHANGE `number` `id` INT(4);
7
#创建主键:学号、课程编号和考试日期构成组合result表主键
ALTER TABLE `result` ADD PRIMARY KEY PK_result (`studentNo`,`subjectNo`,`examDate`);
#创建外键:主表student和从表result通过studentNo列建立主外键关联
ALTER TABLE `result` ADD CONSTRAINT FK_result_student FOREIGN KEY(`studentNo`) REFERENCES `student`(`studentNo`);
8
 HELP Data Type;
 HELP Double;
 HELP CREATE TABLE;
 

相关内容推荐