mysql 学习笔记 ----(1)数据库表的创建

---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"

那么我们看一下我们建的表


还有一个表,就按照上面的建立便可以,没有什么可以特殊说的。




猜你喜欢

转载自blog.csdn.net/ljh_laura_li/article/details/78311857