数据库 - 数据的仓库(集散地) - database - 实现数据持久化和数据管理

持久化 - 将数据从内存转移到能够长久保存数据的存储介质的过程

数据库的分类:关系型数据库(SQL)和非关系型数据库(NoSQL)

文件系统 / 层次数据库 / 网状数据库

关系型数据库

1970s - E.F.Codd - IBM研究员 - System R

理论基础:关系代数和集合论

具体表象:用二维表来保存数据 - 学生表

~ 行:一条记录 - 一个学生的信息

~ 列:一个字段 - 学生的某个属性,例如:学号、姓名、出生日期

~ 主键列:能够唯一标识一条记录的列,例如:学生的学号

编程语言:SQL - 结构化查询语言

~ DDL - 数据定义语言 - create / drop / alter

~ DML - 数据操作语言 - insert / delete / update / select

~ DCL - 数据控制语言 - grant / revoke

LAMP = Linux + Apache + MySQL + PHP

PHP ---> Java

MySQL ---> Oracle

Linux ---> 小型机

去IOE运动

IBM的小型机

Oracle的数据库

EMC的存储设备

关系型数据库产品:

Oracle - 甲骨文

IBM DB2

Microsoft SQLServer

Sybase

MySQL

PostgreSQL

SQLite

连接MySQL的图形化客户端工具:

Navicat for MySQL - 病猫

SQLyog - 海豚

Toad for MySQL - 蛤蟆

学生(学号、姓名、性别、生日、家庭住址)

学院(编号、名称、网站、……)

老师(工号、姓名、性别、生日、职称、所在学院编号)

课程(编号、名称、学分)

设计数据库中的表 - ER图(实体关系图)- 概念模型图

读者、图书

用户、购物车、商品、订单

用户、单车

人、身份证

实体:学生、学院

关系:属于

重数:多对一

代码:

drop database if exists school;

-- 如果存在school的库就先删除

create database school default charset utf8;

use school;

-- 创建school的库并指定编码

-- 创建学生表

drop table if exists tb_student;

-- 如果存在student的表就先删除

create table tb_student

(

stuid int not null comment '学号',

-- 学生id 是整数 不能为空,并指定描述为'学号'

stuname varchar(20) not null comment '姓名',

-- 学生姓名不能为空且设定字符串长度最多为20个字符

stusex bit default 1 comment '性别',

-- 学生性别 bit 默认为1

stubirth date comment '生日',

-- 生日是日期格式

primary key (stuid)

-- 设置学生id为主键

);

alter table tb_student add column stuaddr VARCHAR(255);

-- 修改 学生表 增加 一个 地址列

alter table tb_student change column stuaddr stuaddr VARCHAR(511);

-- 修改 地址列 为新的地址列

alter table tb_student DROP column stutaddr;

-- 删除学生表的地址列

--插入方式一 :

insert into tb_student values(1001,'张三丰',1,'1982-2-2','湖北');

-- 插入一个学生(要与前面定义的顺序一致编号,姓名,性别,生日,地址)

-- 注意:需要哪个语句的执行就去选择 那句执行一次

insert into tb_student values(1002,'张无极',1,'1992-2-2','湖南');

-- 生日和名字都是字符串,要加单引号

insert into tb_student (stuid, stuname) values(1003,'张翠花');

-- 插入方式二:同时添加三个学生

insert into tb_student (stuid,stuname,stusex) values

(1005,'林晓',default),

(1006,'郭靖',1),

(1007,'石达开',1);

-- TRUNCATE TABLE tb_student

delete from tb_student where stuid=1005;

-- 删除id为1005的学生

update tb_student set stuaddr='四川成都' where stuid=1006 or stuid=1007;

-- 更新数据

update tb_student set stuaddr='四川成都' where stuid in (1006,1007);

update tb_student set stubirth='1900-2-3',stuaddr='四川达州' where stuid = 1003;

-- 创建学院表

drop table if exists tb_college;

create table tb_college

(

colid int auto_increment comment '编号',

-- 学院id 自动编号 整数 描述为编号

colname varchar(20) not null comment'名称',

colweb varchar(2034) comment'网站',

primary key (colid)

);

-- 插入学院记录

insert into tb_college (colname) values

('外国语学院'),

('计算机学院'),

('经济管理学院');

-- 修改学生表添加外键约束(参照完整性)

alter table tb_student add constraint fk_student_colid foreign key (colid) references tb_college(colid);

alter table tb_college add column colid int;

update tb_student set colid = 1 where stuid between 1001 and 1003;

update tb_student set colid = 2 where stuid in (1004,1006);

update tb_student set colid = 3 where stuid=1007;

-- 创建老师表

drop table if exists tb_teacher;

create table tb_teacher

(teaid int not null,

teaname varchar(20) not null,

teasex bit default 1,

teabirth date,

teatitle varchar(100) default '助教',

colid int not null

-- PRIMARY key (teaid),

-- foreign key (colid) references tb_college(colid),

);

alter table tb_teacher add constraint pk_teacher_colid PRIMARY key(teaid);

alter table tb_teacher add CONSTRAINT fk-teacher_colid FOREIGN key (colid) REFERENCES tb_colleage;

mysql创建教师表_day34 mysql 认识数据库,创建学生,教师,学院表相关推荐

  1. Linux+MySQL+MyCat实现分库分表,通过MyCat数据库中间件实现分库分表配置实战

    目录 前言 Linux+MySQL+MyCat实现读写分离,主从同步的解决方案 一.Linux下MySQL数据库服务的安装与部署 二.下载Linux MyCat 三.上传Linux服务器,并解压 四. ...

  2. phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...

    Mysql入门基础 数据库创建篇 1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项 ...

  3. mysql数据库是以表为单位存储的,创建一个以数据库名称为参数的MySQL存储过程,以列出具有特定数据库中详细信息的表。...

    假设当前我们正在使用一个名为" query"的数据库,并且其中包含以下表-mysql> Show tables in query; +-----------------+ | ...

  4. mysql添加自团_Mysql入门基础 数据库创建篇

    1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项] [分区的选项];#正统的创建方 ...

  5. linux系统中db2创建表空间,为DB2数据库创建表空间

    数据库中的表空间(tablespace) 是一个逻辑层,一些数据库对象(比如表.视图和索引)驻留在这里.一个数据库可以有多个表空间.在首次创建数据库时,DB2 会自动地创建一组表空间. 在 Contr ...

  6. mysql查询结果作为一个表_例题:数据库查询结果作为一个表

    假如有两个表 表1:product (productID,productName) 表2:consume (productID,nums)  //nums表示对应的产品的销量 问题:列出每个产品ID, ...

  7. mysql表e-r关系_数据库E-R图及关系表

    刘浩 2016270380 E-R图 数据表 代码 USE [store] GO /****** Object: Table [dbo].[商品] Script Date: 04/16/2018 20 ...

  8. oracle数据库查看所有表和注释,oracle数据库当前用户下所有表名和表名的注释

    Markdown使用指南(2)-- 键盘符号说明 符号 中文名 英文名 ! 叹号 exclamation mark/bang ? 问号 question mark , 逗号 comma . 点号 do ...

  9. mysql创建数据库后怎么导入表_MySQL--初步了解数据库和表,创建数据库并导入数据...

    在上一篇文章当中,我们初步了解了MySQL Workbench的图形界面. 接下来,我们就开始去初步了解数据库和表,以及创建一个数据库和向MySQL里面导入数据. 一.初步了解数据库创建一个数据库 1 ...

最新文章

  1. JSP中的重定向和请求转发以及它们的区别
  2. 湖南科技学院计算机科学与技术分数,湖南科技学院计算机科学与技术专业2016年在河南理科高考录取最低分数线...
  3. 远程办公项目团队如何进行团队协作?
  4. 人脸识别技术突飞猛进 为应用领域拓展奠定基础
  5. openFileDialog 打开TXT记事本文件写入数据库
  6. 大厂实习生面试常问的一道算法题,LeetCode11 题目解析
  7. leetcode 1306. Jump Game III | 1306. 跳跃游戏 III(BFS)
  8. java阴阳师抽卡概率_《阴阳师》公布抽卡概率!看到数字我哭了
  9. 大数据平台网站日志分析系统
  10. java调用webservice_Oracle触发器调用webservice说明
  11. A 洛谷 P3601 签到题 [欧拉函数 质因子分解]
  12. python罗马数字转换阿拉伯数字_罗马数字与阿拉伯数字转换
  13. Linux共享后无权限访问,Samba服务无权限访问
  14. 【190320】VC 视频捕捉与网络传输源代码
  15. 苹果账号申请流程——99刀(个人版或公司版 ),299刀(企业版)
  16. 根本原因分析(RCA)
  17. 图像分割之常用损失函数-Focal Loss
  18. STM8L 设置输入模式读取PIN脚高低电平就是个坑
  19. Oracle enterprise manager 13C 安装无法正常进行
  20. 阿里腾讯还做不到,这30%的市场,雷军眼光更胜一筹!

热门文章

  1. 2020年中级数据库工程师考试笔记1—计算机系统知识
  2. STM32机器学习开发实战
  3. Navicat Premium 注册机的使用流程(PATCH)很重要,需要找到Navicat Premium 12的文件夹中的Navicat Premiume.e执行文件
  4. PEEK工程塑料微小深孔钻孔加工难点及加工工艺
  5. 基于纯真本地数据库的 IP 地址查询 PHP 源码
  6. 路由协议与交换技术——OSPF
  7. 黄山行---2009
  8. Sublime | 强大的Sublime编辑器
  9. Shell脚本编写计算器代码
  10. win7高级启动选项:_使您的手机游戏成功。 第二部分:高级选项