MySql——进阶一(库表的建 删 改)

基于学生管理系统建立 数据库 和 表


表的样式:                         

表(一)Student (学生use)

属性名

数据类型

可否为空

含 义

Sno

varchar (20)

学号(主码)

Sname

varchar (20)

学生姓名

Ssex

varchar (20)

学生性别

Sbirthday

Datetime

学生出生年月

 Class

varchar (20)

学生所在班级

                 

表(二)Course(课程表)

属性名

数据类型

可否为空

含 义

Cno

varchar (20)

课程号(主码)

Cname

varchar (20)

课程名称

Tno

varchar (20)

教工编号

表(三)Score(成绩表)

属性名

数据类型

可否为空

含 义

Sno

varchar (20)

学号

Cno

varchar (20)

课程号

Degree

Decimal(4,1)

成绩

//主码:Sno+ Cno

表(四)Teacher(教师表)

属性名

数据类型

可否为空

含 义

Tno

varchar (20)

教工编号(主码)

Tname

varchar (20)

教工姓名

Tsex

varchar (20)

教工性别

Tbirthday

datetime

教工出生年月

Prof

varchar (20)

职称

Depart

varchar (20)

教工所在部门

以上是四张表的样式:

下面我们先建立一个数据库,用来存这些表项。

代码如下:

*******添加数据库*******
create database stu;
use stu

*******建立表*******
create
table student( sno varchar(20) not null primary key comment '学号(主码)', sname varchar(20) not null comment '学生姓名', ssex varchar(20) not null comment '学生性别', sbirthfay Datetime null comment '学生出生年月', class varchar(20) null comment '学生所在班级' ); create table course( cno varchar(20) not null primary key comment '课程号(主码)', cname varchar(20) not null comment '课程名称', tno varchar(20) not null comment '教工编号' ); create table score( sno varchar(20) not null comment '学号', cno varchar(20) not null comment '课程号', degree Decimal(4,1) null comment '成绩', primary key(sno,cno) ); create table teacher( tno varchar(20) not null primary key comment '教工编号(主码)', tname varchar(20) not null comment '教工姓名', tbirthday datetime null comment '教工出生年月', prof varchar(20) null comment '职称', depart varchar(20) not null comment '教工所在部门',

);
*******添加一个字段******
alter table teacher add tsex varchar(20) not null comment '老师性别';
*******删除字段*******
alter table 表名 drop 表项名;
加索引
   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);

加主关键字的索引
  mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);

加唯一限制条件的索引
   mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);

删除某个索引
   mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;

增加字段:
mysql> ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及类型:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:
MySQL ALTER TABLE table_name DROP field_name;
*******删除数据库*********
mysql> drop database 库名;

好啦  数据库和表我们都建完了,我们可以用

show tables ;查看当前库内存在的表。

 现在表已经建好了,我们就可以按照表内的数据格式往里面依次添加数据了

代码如下:

insert into student values
('108','曾华','','1997-09-01','95033'), 
('105','匡明','','1975-10-02','95031'),
('107','王丽','','1976-01-23','95033'),
('101','李军','','1976-02-20','95033'),
('109','王芳','','1976-02-10','95031'),
('103','陆君','','1974-06-03','95031');

insert into course values
('3-105','计算机导论','825'),
('3-245','操作系统','804'),
('6-166','数字电路','856'),
('9-888','高等数学','831');

insert into teacher values
('804','李诚','1958-12-02','副教授','计算机系',''),
('856','张旭','1969-03-12','讲师','电子工程系',''),
('825','王萍','1972-05-05','助教','计算机系',''),
('831','刘冰','1977-08-14','助教','电子工程系','');

insert into score values

(103,'3-245','86'),
(105,'3-245','75'),
(109,'3-245','68'),
(103,'3-105','92'),
(105,'3-105','88'),
(109,'3-105','76'),
(101,'3-105','64'),
(107,'3-105','91'),
(108,'3-105','78'),
(101,'6-166','85'),
(107,'6-166','79'),
(108,'6-166','81');

 我们添加完后就可以用

select * from 表名;

查看表中的所有数据

修改表中数据

语法:update 表名 set 字段=新值,… where 条件
   mysql> update MyClass set name='Mary' where id=1;

例1:MySQL UPDATE语句:
   UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

2018-08-11

原文地址:https://www.cnblogs.com/lemon-Net-Skill/p/9460265.html