Mysql入门第一课

来源:互联网 发布:通达信模拟交易软件 编辑:程序博客网 时间:2024/04/29 07:48

在我看了"21天学习java"这本书之后,当然这本书挺浅,只介绍了一些java的基本知识吧,在这本书的最后一章提到数据库,所以我就先学一下Mysql,在装这个mysql的时候,过程略艰辛,各种问题,但最后都一一解决了,我装的5.6免安装版的,然后下了一个可视化软件。下面是我自己建的简单的三张表格,来大概的了解一下mysql的一些基本知识。我也是今天刚开始一边看书,一边自己码一下。要坚持!


首先第一步是要建立数据库,用语句 create database sampdb;(大小写都可以识别关键字),要想设置某一个数据为默认数据库,即下面所创建的表格都在这个数据库中,要用use sampdb;上面的show tables是我之前在数据库sampdb下创建的表格,show *from student;这条语句出现错误,错误的原因是当前student这个表格除了列名称之外,没有内容,也就是这条语句用于显示表格中的所有内容,此时应该用dscribe student,如下


上面的表格是用create table student(......);创建。显然在括号里我声明了三个变量,即三列,每个变量后都跟着其类型,比如(name varchar(20) not null),not null表示该变量一定要有值。比较特别的student_id,  int 表示整型,unsigned表示非负,not null,  PRI 表示给student_id一个索引,auto_increment表示如果插入一条数据,student_id会自动增加。

总共是四张表格,然后特别说的是,第一次出现student_id 和event_id的表格,即student和grade_event这两个表,在定义这两个变量之后,要你加一句索引“primary key(student_id)”,和“primary key(event_id)”具体原因在接下来的学习中应该会弄明白的,希望是这样喔。特别重要的score表的定义如下:

create table score(

 student_id int unsigned not null ,

event_id int unsigned not null,

score int not null,

primary key (event_id,student_id),

index(student_id),

foreign key (event_id) references grade_event (event_id),

foreign key (student_id) references student (student_id),

)engine=innodb;

score里的student_id和event_id变量都是非负数整型,表示每一个考试分数所对应的学生和考试事件(测试还是测验),primary key (event_id,student_id),将这两列的组合设置成一个primary key,这样可以确保不会重复记录某位学生在某次考试中的成绩。这个组合具有唯一性,但是单个变量event"_id会对应多个学生的考试分数。每一个id变量都要用foreign key来进行约束,指出必须与哪儿个表中的匹配。

从中我们可以看出score表依赖与student 和grade_event表格,会形成某种依赖关系,让你按照一定的顺序来创建和删除表,在给表格赋值的时候,要先给student和grade_event赋值,最后给score赋值,删除时则按相反的方向。

然后用语句 insert into 表名 values(        ),(   ),  (    );这是一起全部赋值,其实可以从文件中load data来进行赋值,现在我还不会......

赋值好了之后,就是信息的检索,



0 0