10月14日下午MySQL数据库基础
数据库基础
类型:
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数据库基础的更多相关文章
- 10月28日下午MySQL数据库的增加、删除、查询(匹配数据库登录和可以增、删、查的显示数据库内容的页面))
一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...
- 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)
1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...
- 10月16日上午MySQL数据库基础操作(创建、删除)
以前用的是鼠标在界面上手动创建,这样创建会比较麻烦,而且还会经常出问题.在其它电脑上要用的话还需要重复操作.所以要使用程序代码操作,能通过代码的就不用手动操作. 在数据库界面选择要用的数据库,双击打开 ...
- 10月17日下午MySQl数据库CRUD高级查询
高级查询:1.连接查询 #适用于有外键关系的 没有任何关系没法用select * from Info,Nation #同时查询这俩表并把两表每个数据相互组合,形成笛卡尔积 select * from ...
- 10月30日上午MySQL数据库的修改(从网页上实现对数据库的更改)
从网页页面上对数据库进行更改,连接着之前做的增加.删除.查询. 1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页 ...
- 10月21日上午MySQL数据库学习内容复习
1.创建数据库create database 数据库名称删除数据库drop database 数据库名称 2.创建表create table 表名(列名 类型(长度) 自增长 主键 非空,)自增长:a ...
- 10月16日上午MySQL数据库作业设计表解析
作业设计表:多张表存储学生成绩及各种信息 需要从表里面体现: 关于学生的:代号 姓名 性别 年龄 班级 关于课程的:代号 名称 关于老师的:代号 姓名 关于成绩的:例如:闫超--网页--90 要能查看 ...
- 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 ...
- IntelliJ IDEA 最新激活码(截止到2018年10月14日)
IntelliJ IDEA 注册码: EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYX ...
随机推荐
- Java反射机制学习与研究
Java反射机制:可以获取正在运行时的Java对象. 1.判断运行时对象对象所属的类. 2.判断运行时对象所具有的成员变量和方法. 3.还可以调用到private方法,改变private变量的值. S ...
- iOS开发中的错误整理,iOS9之后的UIWindow(TopWindow)以及UIWindow与statusBar的关系
iOS9之后的UIWindow的问题(TopWindow),以及UIWindow与statusBar之间的联系 1.出现的问题 iOS9之后UIWindow必须要指定一个根控制器,不然会报错!iOS9 ...
- 【BZOJ 1178】【APIO 2009】CONVENTION会议中心
http://www.lydsy.com/JudgeOnline/problem.php?id=1178 这道题想了好久没想明白,倍增数组通过看题解很快就明白了,但是一小段区间内应有的最多线段数一直不 ...
- HTTP协议学习---(五)压缩
HTTP压缩是指: Web服务器和浏览器之间压缩传输的"文本内容"的方法. HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件. 能大大减少 ...
- 【Codeforces 722C】Destroying Array (数据结构、set)
题意 输入一个含有 n(1≤n≤100000) 个非负整数的 a 数组和一个 1-n 的排列 p 数组,求每次删除 a[p[i]] 后,最大连续子段和(不能跨越被删除的)是多少? 分析 因为都是非负整 ...
- this action could not be completed.try again登陆appstore错误提示
今天升级10.11后登陆appstore的时候发现报错了: this action could not be completed.try again 解决办法,终端敲入: sudo mkdir -p ...
- [bzoj4552][Tjoi2016][Heoi2016]排序
Description 给出一个$1$到$n$的全排列,现在对这个全排列序列进行$m$次局部排序,排序分为$2$种: $1.(0,l,r)$表示将区间$[l,r]$的数字升序排序; $2.(1,l,r ...
- 【poj3709】 K-Anonymous Sequence
http://poj.org/problem?id=3709 (题目链接) 题意 给出一个n个数的序列,要求将其中一些数改为另一个比它小的数,改动的花费为两数的绝对值,完成改动后使得整个序列中出现过的 ...
- hdu 5035 概率题
直接推公式的题目了.... Refer:http://blog.csdn.net/u012139398/article/details/39458623 https://www.zybuluo.com ...
- bestcoder杯回顾
题目列表:hdu5214~5223 5214: 当时第一反应是由递推公式推出通项公式,事实证明这就是作!大!死! 因为通项公式是这样的:L[n]=a^(n-1)*(b+L[1])-b 于是就需要快速幂 ...