数据库基础 

类型:

1.varchar;字符串,用于姓名班级,地址等,地址一般长50,姓名长20

2.int;整数,用于成绩,序号等

3.float;小数

4.bit;布尔型,用于性别等

5.时间也用varchar,因为datatime取得值需要转换

6.text; 特别长的数 ,随便往里面仍

1.主键

每个表都要有主键;主键是唯一的。全表中不能重复。

2.自增长列

自增长列是不好找主键时候用 名称是ids  类型是int 这一列是没有意义的。下面自动增长点对号

3.外键
从表
主表
主表控制从表
主表中的外键列一定是主键。 类型什么的一定要一样,练习时候用了一次类型写错了结果不能建立,以后要注意

规则:
数据库三大范式

第一范式:保证每一列的原子性,也就是拆到最小单位
山东省淄博市张店区*****
山东省 淄博市 张店区

第二范式:保证数据表的每一列都和主键相关

第三范式:保证数据表的每一列都和主键直接相关

1.将表拆分,一直到不能拆分为止
2.表名加前缀,小写
3.如果找不到主键,就用自增长列
4.外键关系可以不用加

 

使用数据库时,一定先要把WAMPW SERVER软件开启,否则数据库无法使用。

  如果要建立新的数据库,就在Navicat 8 for MySQL右侧单击右键,选择创建数据库。输入数据库的名称,字符集选择utf8--UTF-8-unicode,点击确定,就创建了新的数据库。双击数据库名称,打开数据库。数据库在存储数据时采用表格的形式存储。

  双击数据库的名称会出来数据库的选项,把鼠标放在“表”上,单击右键选择创建表,点击后弹出对话框,在对话框中可以选择创建表。创建表后的时候要规定表存什么信息,存的信息是由列决定的,所以创建表的时候往里填的都是列的信息。数据库里的信息不要用中文,一般用英语,还可以用拼音。尽量用小写字母,前面最好加上前缀,避免后期放到服务器上大量修改。例如作业系统,就写成zy_表名,一般用下划线分隔,规则规定的。

  创建表的界面,名下面写列的名称,用英语或者字母写,能记住就可以。类型下面写数据类型,数据库存储数据时和excle表不一样,excle表存储时比较随意,而数据库存储数据时比较严谨,要求建的一列输入的内容要事先规划好。数据库中的字符串是varchar,字符串需要写长度,别的可以不写长度,选完varchar以后后面写上长度。一般常见的长度是20和50,短的设置为20,长的设置为50。后面还有一个选项是“允许空值”,意思是是不是允许不填,打上对号表示可以不填,去掉对号这列必须要填,不填的话存不上。建下一个列就点击创建栏位或者插入栏位。

  表格建好以后如果想往里面存储数据,就双击打开表格 ,打开后会出现表格输入的列的名称。写完数据后点击下面的对号,保存数据。

  一张数据表里面必须要有一个主键来唯一表示这条数据,选择要建立的主键后点击上面的主键,主键列最后面就会出现一个钥匙的标识。主键是用来控制这张表不能填入重复的信息。每一张表都要加主键。

  自增长列,没有任何意义,仅仅是为了区分每一条数据,名称一般叫做ids。选择自增长列后选择下面的自动递增,自己会填充上,不用往里填数据。一般用在表不好找主键,每列都不能作为主键。

  外键,外键必须有2张表,这2张表之间必须有关系。这2张表可以成为主表和从表,制约另一个表的表叫做主表,被制约的表叫做从表,主表控制从表。

  主表中的外键列一定是主键。

  外键在数据库起到的作用是使数据更加安全。如果建立了外键关系,主表的内容就不能随便删除了,如果删除了一列,那么和这列有关的从表就会受影响出问题。如果要删除主表的内容,就得把从表里先联系的数据全部删除。

  主表不能随便乱动,从表可以。 

  1.建表规则
  数据库三大范式
  第一范式:保证每一列的原子性
  第二范式:保证数据表的每一列都和主键相关
  第三范式:保证数据表的每一列都和主键直接相关

  经验总结:
  1.能够往下拆的表尽量往下拆,拆到不能拆为止。
  2.建立表的时候表名加前缀,最好是小写(只适用于WAMPSERVER数据库)
  3.如果找不到主键,就用自增长列。
  4.外键关系可以不用加

10月14日下午MySQL数据库基础的更多相关文章

  1. 10月28日下午MySQL数据库的增加、删除、查询(匹配数据库登录和可以增、删、查的显示数据库内容的页面))

    一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...

  2. 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)

    1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...

  3. 10月16日上午MySQL数据库基础操作(创建、删除)

    以前用的是鼠标在界面上手动创建,这样创建会比较麻烦,而且还会经常出问题.在其它电脑上要用的话还需要重复操作.所以要使用程序代码操作,能通过代码的就不用手动操作. 在数据库界面选择要用的数据库,双击打开 ...

  4. 10月17日下午MySQl数据库CRUD高级查询

    高级查询:1.连接查询 #适用于有外键关系的  没有任何关系没法用select * from Info,Nation #同时查询这俩表并把两表每个数据相互组合,形成笛卡尔积 select * from ...

  5. 10月30日上午MySQL数据库的修改(从网页上实现对数据库的更改)

    从网页页面上对数据库进行更改,连接着之前做的增加.删除.查询. 1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页 ...

  6. 10月21日上午MySQL数据库学习内容复习

    1.创建数据库create database 数据库名称删除数据库drop database 数据库名称 2.创建表create table 表名(列名 类型(长度) 自增长 主键 非空,)自增长:a ...

  7. 10月16日上午MySQL数据库作业设计表解析

    作业设计表:多张表存储学生成绩及各种信息 需要从表里面体现: 关于学生的:代号 姓名 性别 年龄 班级 关于课程的:代号 名称 关于老师的:代号 姓名 关于成绩的:例如:闫超--网页--90 要能查看 ...

  8. 2016年10月14日 星期五 --出埃及记 Exodus 18:25

    2016年10月14日 星期五 --出埃及记 Exodus 18:25 He chose capable men from all Israel and made them leaders of th ...

  9. IntelliJ IDEA 最新激活码(截止到2018年10月14日)

    IntelliJ IDEA 注册码: EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYX ...

随机推荐

  1. oracle递归查询树的SQL语句

    来自互联网 SELECT * FROM a_ParkingLot AWHERE A.REGIONID IN(    SELECT r.ID FROM a_region r    START WITH ...

  2. oracle去重等基础问题

    --去重查询方法一:根据id select * from sxe where id in(select min(id) from sxe group by username) order by id ...

  3. Java设计模式(一) 策略模式

    策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 1,定义算法接口 package com.pattern.strategy.test; publ ...

  4. hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound

    hibernate项目里面配了很多many-to-one的关联,后台在查询数据时已经作了健全性判断,但还是经常抛出对象找不到异常: org.hibernate.ObjectNotFoundExcept ...

  5. 【HDU 5744】Keep On Movin

    找出奇数个的数有几个,就分几组. #include<cstdio> #include<cstring> #include<algorithm> #include&l ...

  6. Yii2事务

    今天写到发券,发现没加事务,于是学习了下 事务: 是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面 ...

  7. 猿题库 iOS 客户端架构设计

    原文: http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=444322139&idx=1&sn=c7bef4d439f4 ...

  8. MAC OS VPN使用指南

    L2TP/IPSec VPN - Mac OS 使用指南 一.打开Mac的联网设置. 二.然后点左边的加号,添加新的连接. 三.选择VPN(L2TP),点击创建(Create). 四.输入你购买的VP ...

  9. filter,map,reduce,lambda(python3)

    1.filter filter(function,sequence) 对sequence中的item依次执行function(item),将执行的结果为True(符合函数判断)的item组成一个lis ...

  10. 【poj1984】 Navigation Nightmare

    http://poj.org/problem?id=1984 (题目链接) 题意 给出一棵树,这棵树是以平面直角坐标系为基准建立的,也就是每个节点最多只有上下左右4条边.现在动态建树,同时询问两点间的 ...