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 ...
随机推荐
- vue.js 源代码学习笔记 ----- instance index
import { initMixin } from './init' import { stateMixin } from './state' import { renderMixin } from ...
- fedora22 安装fcitx 输入法
<h4>安装fcitx:</h4><blockquote>sudo yum install fcitx fcitx-pinyin fcitx-configtools ...
- JavaScript 中 OnLoad事件用法总结
还差一天现在手头上的这套网站就写完了,中午蹭了半天还是没睡好,干脆爬起来把今天上午写到的onload事件给整理一下. 一般用到比较多的就是初始化数据或者效果. 1.直接写在<body>标签 ...
- 使用 ExceptionDispatchInfo 捕捉并重新抛出异常
当你跑起了一个异步线程,并用 await 异步等待时,有没有好奇为什么能够在主线程 catch 到异步线程的异常? 当你希望在代码中提前收集好异常,最后一并把收集到的异常抛出的时候,能不能做到就像在原 ...
- P2P UPD打洞原理
转自:http://blog.pfan.cn/fengfei/18828.html 首先先介绍一些基本概念: NAT(Network Address Tr ...
- mysql拼接多条查询结果并且加序列
SELECT GROUP_CONCAT(a.DESCRIPTION SEPARATOR '\n') FROM (SELECT (@rowNum:=0) AS rowNo,CONCAT('公司内 ...
- 《DSP using MATLAB》示例Example7.10
代码: ws1 = 0.2*pi; wp1 = 0.35*pi; wp2 = 0.65*pi; ws2 = 0.8*pi; As = 60; tr_width = min((wp1-ws1), (ws ...
- Linux下Apache服务器配置
Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm //主程序包 httpd-devel-2.2.3-29.e15.i ...
- Tree的两种存储形式
1.xml存储 2.链式结构存储 List<Node> nodes = new List<Node>() { , Name = "中国" }, , Name ...
- 【spring源码学习】spring的事务管理的源码解析
[一]spring事务管理(1)spring的事务管理,是基于aop动态代理实现的.对目标对象生成代理对象,加入事务管理的核心拦截器==>org.springframework.transact ...