---1.建立空表
首先第一次使用数据库时,需要建立一个数据库,才可以建表。
以学生系统为例,建立数据库语句为 create database stu; (stu为数据库名)那么我们现在用语句 show databases;
便可以看到刚才建立的stu 数据库。
我们需要用语句 use stu; 使用这个数据库。
下一步便是在这个数据库中建表,一个数据库可以建立很多个表,在这里我建3个表。
首先我建立一个学生信息表,建表语句 create table student( sno char(12) primary key,/*列级完整性约束条件, sno为主码*/ sname char(20), ssex char(10), sage char(3), sdept char(20) );
我们再建一个带有外码的课程表,create table course( cno char(5) primary key, cname char(20), cpno char(5), ccredit char(3),foreign key (cpno) references course(cno)); 这里我们将外码设为cpno(先行课),那么被参照的是course表中的cno列,被参照的表可以不是自己。
我们在建立一个主码由两个属性构成的学生选课表sc create table sc( sno char(12), cno (3), grade char(3),primary key (sno, cno), foreign key (sno) references student(sno), foreign key (cno) references course(cno) );
外码的意义在于保证两个表之间的数据的一致性,并且必须是另一个表的主码,比如我们在学生选课表的学号这列的信息,学生信息的学号类必须要有这个人;课程表中的先行课一列中,课程表的课程中有这门课。
这时我们若想看我们建立了哪些表,则执行语句 show tables;
若想看我们表中具体都有哪些列,则执行语句 show columns from course;
---2.将元组输入到空表中
将元组输入到空表中执行语句
insert into student values ("111111111111", "chen", "female", "20", "ne");
insert into student values ("111111111112", "wang", "male", "20", "ne");
insert into student values ("111111111113", "lang", "female", "20", "ne");
我建表的时候用的我们班的数据,所以马赛克
在第一次操作时,我将性别的数据类型开小了,那么我想修改数据类型,则执行操作 alter table student modify column ssex char(10); 便将ssex的数据大小改为10
我们现在查看一下我们输入的数据 执行操作select *from student; *号代表所有,如果要仅展现某列,就将其改成列名,比如 select sname from student;
此时我想删除一个元组,则执行操作 delete from student where sname = "wang";便把第二行数据删除了。
我们现在输入课程表,在课程表中存在约束条件,则按照成立来说应该先输入没有先行课的课程,那么我们便执行语句 insert into course values ("5", "数据结构", null, "2"); 在将以“5”号课程为先行课的课程输入进去 insert into course values ("1", "数据库", "5", "4");
那么如果我们想先输入1号课程,我们可以将先行课置为null,例如 insert into course values ("1", "数据库", null, "4"); 当我们将表完善后,可以修改值,将值填入表中 update course set cpno = "5" where cno = "1";将"1"号课程的cpno修改为"5"
那么我们看一下我们建的表
还有一个表,就按照上面的建立便可以,没有什么可以特殊说的。