数据库编程技术 第一章
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;