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


表的样式:                         

表(一)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
('','曾华','男','1997-09-01',''),
('','匡明','男','1975-10-02',''),
('','王丽','女','1976-01-23',''),
('','李军','女','1976-02-20',''),
('','王芳','女','1976-02-10',''),
('','陆君','男','1974-06-03',''); insert into course values
('3-105','计算机导论',''),
('3-245','操作系统',''),
('6-166','数字电路',''),
('9-888','高等数学',''); insert into teacher values
('','李诚','1958-12-02','副教授','计算机系','男'),
('','张旭','1969-03-12','讲师','电子工程系','男'),
('','王萍','1972-05-05','助教','计算机系','女'),
('','刘冰','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

MySql——进阶一(库表的建 删 改)的更多相关文章

  1. MySQL数据库的库表迁移

    最近在研究MySQL数据库的库表迁移问题,主要分为两种情况,一种情况是迁移数据库的表的全部字段,另一种是迁移数据库的表的部分字段.前一种情况是直接使用mysqldump命令来实现,后一种情况则是采用数 ...

  2. MySQL进阶:约束,多表设计,多表查询,视图,数据库备份与还原

    MySQL进阶 知识点梳理 一.约束 1. 外键约束 为什么要有外键约束 例如:一个user表,一个orderlist 如果现在想要直接删除id为1的张三,但是orderlist里还有用户id为1的订 ...

  3. Mysql数据库 的库表简易操作

    一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8;   charset uft8  可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...

  4. MySQL查看某库表大小及锁表情况

    查询所有数据库占用磁盘空间大小的SQL语句: 语句如下: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB ...

  5. mysql: 查看某库表大小

    查询所有数据库占用磁盘空间大小的SQL语句: 语句如下 1 2 3 4 5 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/102 ...

  6. mysql查看某库表大小

    查询所有数据库占用磁盘空间大小的SQL语句: 语句如下 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB' ...

  7. MySql基础学习-库表操作

    1.创建数据 CREATE DATABASE mysql_study; 2.连接数据库 USE mysql_study 3.创建数据表 CREATE TABLE person( id int auto ...

  8. mysql进阶(五)数据表中带OR的多条件查询

    MySQL数据表中带OR的多条件查询 OR关键字可以联合多个条件进行查询.使用OR关键字时: 条件 1) 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来. 2) 如果不符合这些查询条件 ...

  9. mysql进阶(九)多表查询

    MySQL多表查询 一 使用SELECT子句进行多表查询 SELECT 字段名 FROM 表1,表2 - WHERE 表1.字段 = 表2.字段 AND 其它查询条件 SELECT a.id,a.na ...

随机推荐

  1. Android SDK无法更新解决办法

    一.设置SDK代理 启动Android SDK Manager,选择菜单 Tools ->Options -> 代理地址: mirrors.opencas.cn 代理端口: 80 如下图: ...

  2. Unity3D使用溶解技术解决障碍物遮挡

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  3. TCP 和 UDP 的区别( 面向连接 和 面向无连接 )

    第一:TCP 和 UDP 的区别( 面向连接 和 面向无连接 ) TCP---传输控制协议,提供的是面向连接.可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才 ...

  4. >=< 在set和dict中的不同

    两个dict比较的算法是,长度>键>值,由于dict无序,所以比较的时候会自动将键对齐比较,我们不用担心这个. >>> d1 = dict(x=1, y=2) >& ...

  5. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  6. stm32寄存器版学习笔记04 定时计数器中断

    STM32共有8个定时计数器,其中TIME1和TIME8是高级定时器,TIME2~TIME5是通用定时器,TIME6和TIME7是基本定时器.以TIME3为例总结定时计数器的基本用法. 1.TIM3的 ...

  7. Working out

    Summer is coming! It's time for Iahub and Iahubina to work out, as they both want to look hot at the ...

  8. 【java基础】java中ArrayList,LinkedList

    [一]ArrayList 一ArrayList的内部结构 (1)ArrayList内部维护的是一个Object数组 (2)ArrayList数组扩容后数组的长度的公式:旧的数组长度+(旧数组长度> ...

  9. 莫名其妙的js基础学习!

    JavaScript基本组成部分: 1,ECMAScript:js的语法标准,基本的变量,运算符,函数,if语句,for语句等 2,DOM:操作网页上的元素API,比如盒子的移动,变色,轮播图等. 3 ...

  10. bzoj 3671 [Noi2014]随机数生成器——贪心(时间复杂度分配)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3671 设 x 为一个点的行号, y 为一个点的列号:原本想着判断一个点能不能选就是看选了的点 ...