mysql _数据库表的创建

---1.建立空表

首先第一次使用数据库时,需要建立一个数据库,才可以建表。
以学生系统为例,建立数据库语句为

create database stu;        //(stu为数据库名)

使用如下语句查看数据库

show databases;

我们便可以看到刚才建的数据库

建好数据库后,我们需要用如下语句使用数据库

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

在第一次操作时,我将性别的数据类型开小了,那么我想修改数据类型,则执行操作

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"

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

其他SQL增删改查和sql server下图形界面的使用,见我的其他博客





  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值