数据库基础 

类型:

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. extjs简单动画2

    var store = Ext.create('Ext.data.Store', { storeId:'employeeStore', fields:['name', 'seniority', 'de ...

  2. svn 的备份还原

    备份脚本如下: #!/bin/bash ############################################################################### ...

  3. [转]JDBC中日期时间的处理技巧

    Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...

  4. Shell配置_配置IP

    1.setup 打开图形化页面 a) 选择网络配置 b) 选择设置配置   c) 选择第一个网卡     2.启动网卡(第一个网卡)      vim /etc/sysconfig/network-s ...

  5. swift 学习(一)基础知识 (基本数据类型,操作符,流控制,集合)

    xcode 中调用API帮助 1.查看简单信息,选中后 按键 control +左键单击  或者按 右侧属性栏 里的帮助按钮 2.完整API,选中后 按键 control +左键双击 3.查看类.函数 ...

  6. 基于Oracle的Mybatis 批量插入

    项目中会遇到这样的情况,一次性要插入多条数据到数据库中,有两种插入方法: 方法一: Mybatis本身只支持逐条插入,比较笨的方法,就是遍历一个List,循环中逐条插入,比如下面这段代码 for(Da ...

  7. Maven插件maven-surefire-plugin

    插件官方文档:maven-surefire-plugin 1.surefire plugin的作用surefire 插件用来在maven构建生命周期的test phase执行一个应用的单元测试. 它会 ...

  8. Mysql-linux下密码修改,忘记密码修改,超级管理用户修改

    未忘记密码 方法一:在mysql系统外,使用mysqladmin # mysqladmin -u root -p password "test123"Enter password: ...

  9. linux 下更改 blast+ version

    to 2.2.30 cd /usr/bin sudo su mv blastdb_aliastool blastdb_aliastool_2.25 mv blastdbcheck blastdbche ...

  10. android开发之自定义组件

    android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的 ...