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
('','曾华','男','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 表名;
查看表中的所有数据


修改表中数据
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——进阶一(库表的建 删 改)的更多相关文章
- MySQL数据库的库表迁移
最近在研究MySQL数据库的库表迁移问题,主要分为两种情况,一种情况是迁移数据库的表的全部字段,另一种是迁移数据库的表的部分字段.前一种情况是直接使用mysqldump命令来实现,后一种情况则是采用数 ...
- MySQL进阶:约束,多表设计,多表查询,视图,数据库备份与还原
MySQL进阶 知识点梳理 一.约束 1. 外键约束 为什么要有外键约束 例如:一个user表,一个orderlist 如果现在想要直接删除id为1的张三,但是orderlist里还有用户id为1的订 ...
- Mysql数据库 的库表简易操作
一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8; charset uft8 可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...
- MySQL查看某库表大小及锁表情况
查询所有数据库占用磁盘空间大小的SQL语句: 语句如下: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB ...
- mysql: 查看某库表大小
查询所有数据库占用磁盘空间大小的SQL语句: 语句如下 1 2 3 4 5 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/102 ...
- mysql查看某库表大小
查询所有数据库占用磁盘空间大小的SQL语句: 语句如下 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB' ...
- MySql基础学习-库表操作
1.创建数据 CREATE DATABASE mysql_study; 2.连接数据库 USE mysql_study 3.创建数据表 CREATE TABLE person( id int auto ...
- mysql进阶(五)数据表中带OR的多条件查询
MySQL数据表中带OR的多条件查询 OR关键字可以联合多个条件进行查询.使用OR关键字时: 条件 1) 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来. 2) 如果不符合这些查询条件 ...
- mysql进阶(九)多表查询
MySQL多表查询 一 使用SELECT子句进行多表查询 SELECT 字段名 FROM 表1,表2 - WHERE 表1.字段 = 表2.字段 AND 其它查询条件 SELECT a.id,a.na ...
随机推荐
- java.sql.SQLException: Unsupported character encoding 'utf8mb4'.
四月 12, 2017 3:47:52 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() fo ...
- FFmpeg再学习 -- FFmpeg+SDL+MFC实现图形界面视频播放器
继续看雷霄骅的 课程资料 - 基于FFmpeg+SDL的视频播放器的制作最后一篇,主要是想学一下 MFC 创建和配置. 一.创建 MFC 工程 文件->新建->项目->Visual ...
- OpenGL实现相机视频NV21格式转RGB格式
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...
- rest-framework框架 -- 认证权限流程源码
认证权限 解析BaseAuthentication源码 # 做认证权限 from rest_framework import exceptions from ..models import * cla ...
- xgboost系列之应用xgboost的注意事项
问题:win和mac平台运行相同的xgboost代码,效果不同? 解决:xgboost的参数colsample_bytree设置为1.
- BZOJ:5092 [Lydsy1711月赛]分割序列(贪心&高维前缀和)
Description 对于一个长度为n的非负整数序列b_1,b_2,...,b_n,定义这个序列的能量为:f(b)=max{i=0,1,...,n}((b_1 xor b _2 xor...xor ...
- 20179223《Linux内核原理与分析》第八周学习笔记
视频学习 可执行文件是怎么得来的? .c汇编成汇编代码.asm,然后再汇编成目标码.o.然后在连接成可执行文件,然后加载到内存可执行了. 对hello.c文件预处理(cpp),预处理负责把includ ...
- hadoop常见错误总结三
问题导读:1.... could only be replicated to 0 nodes, instead of 1 ...可能的原因是什么?2.Error: java.lang.NullPoin ...
- openresty websocket 使用
openresty websocket 使用 1. 代码如下: local server =require"resty.websocket.server" local wb, ...
- JS脚本不能运行
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/moqiang02/article/details/25898295 这段时间在做前端的动态页面,出了 ...