mysql全套基础知识_Mysql基础知识整理

MySQL的查询过程 (一条sql语句在MySQL中如何执行):

客户端请求 ---> 连接器(验证用户身份,给予权限) ---> 查询缓存(存在缓存则直接返回,不存在则执行后续操作) ---> 分析器(对SQL进行词法分析和语法分析操作) ---> 优化器(主要对执行的sql优化选择最优的执行方案方法) ---> 执行器(执行时会先看用户是否有执行权限,有才去使用这个引擎提供的接口) ---> 去引擎层获取数据返回(如果开启查询缓存则会缓存查询结果)

主键、外键

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键

比如:

学生表(学号,姓名,性别,班级)

其中每个学生的学号是唯一的,学号就是一个主键

课程表(课程编号,课程名,学分)

其中课程编号是唯一的,课程编号就是一个主键

成绩表(学号,课程号,成绩)

成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键

成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键

同理成绩表中的课程号是课程表的外键

定义主键和外键主要是为了维护关系数据库的完整性,总结一下:

1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。

身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

2.外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。

比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

主键和外键的区别:

(1)主键是唯一标识一条记录,不能有重复,不允许为空;而外键可以重复,可以是空值

(2)主键是用来保持数据完整性,外键是用来建立与其他表联系用的

(3)主键只有一个,外键可以有多个

安装:

下载链接:https://dev.mysql.com/downloads/file/?id=501541

window安装链接:https://blog.csdn.net/sophie1314/article/details/83409339

• yum安装

http://jingyan.baidu.com/article/c74d600079be530f6a595dc3.html

• rpm安装

• 源码安装

http://blog.csdn.net/wendi_0506/article/details/39478369

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渗透思维导图

转载于:https://www.cnblogs.com/DonAndy/p/5914747.html

mysql数据库用户的创建_mysql创建用户及数据库

登陆mysql[rootdn210120 conf]# mysql -uroot创建用户及密码mysql> grant usage on *.* to hive14localhost identified by 123456 with grant option;创建数据库mysql> create database hive14 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;赋予新用户操作新数据…

【计算机视觉】论文笔记:Ten years of pedestrian detection, what have we learned?

最近正在研究行人检测,学习了一篇2014年发表在ECCV上的一篇综述性的文章,是对行人检测过去十年的一个回顾,从dataset,main approaches的角度分析了近10年的40多篇论文提出的方法,发现有三种方法(DPM变体&am…

mysql命令导入导出数据库_MYSQL命令行导入导出数据库详解

Mysql命令行导入数据库:1,将要导入的.sql文件移至bin文件下,这样的路径比较方便2,同上面导出的第1步3,进入MySQL:mysql -u 用户名 -p如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码…

02-合并frame

进入IJKMediaPlayer工程--->--->选择release--->选择6s或者其他模拟器,Commandb编译--->选择真机版本,Commandb编译,查看finder,生成真机和模拟器两个版本的frameWork--->找到这个文件----> 真机和模拟器的IJKm…

recover 没有捕获异常_defer + recover 捕获所有异常

1)说明go的异常捕获需要延迟函数defer recover实现,在函数返回前,就可以捕获到, 这样其实比java的try catch更加优雅一点;比如: web服务器程序崩溃前,需要做一些清理,那么就可以这样搞定;还可以在捕获时,打印一些信息,继续panic,让错误往上抛…

sqoop从mysql导入hdfs_3.使用sqoop从mysql 导入数据到hdfs

使用sqoop从mysql 导入数据到hdfs注意:需要将mysql的jdbc驱动包放到lib目录下在conf目录中,执行cp sqoop-env-template.sh sqoop-env.sh#修改 ~/.bashrc,增加export HADOOP_CLASSPATH/opt/hadoop-2.6.0-cdh5.13.0/lib:/$HIVE_HOME/lib/*sourc…

JAVA微信开发:[17]如何获取所有关注用户

该方法获取所有关注公共账号的微信用户的openId集合&#xff0c; 再通过openId集合既可以获取所有的用户的信息。 /** * 获取所有的关注用户 * * return */ public List<String> getAllWeiXinUser() { GetExistAccessToken getExistAccessToken GetExistAccessToken…

JS中this的四种用法

1.在一般函数方法中使用 this 指代全局对象 function test(){this.x 1;alert(this.x);}test(); // 12.作为对象方法调用&#xff0c;this 指代上级对象 function test(){alert(this.x); } var o {}; o.x 1; o.m test; o.m(); // 1 3.作为构造函数调用&#xff0c;this 指代…

mysql lib 5.5.28_mysql5.5.28在Linux下的安装

mysql5.5.28在Linux下的安装1. 下载mysql2. 解压假如tar包在/home/zdw/software目录下#tar -xvf mysql-5.5.28-linux2.6-i686.tar.gz3. 移动到/usr/local/mysql#mv mysql-5.5.28-linux2.6-i686 /usr/local/添加快捷方式mysql指向mysql-5.5.28-linux2.6-i686#ln -s mysql-5.5.28…

mysql与缓存脏读_MySQL 事务的隔离级别问题 之 脏读

1. 脏读所谓的脏读就是指一个事务读取了另一个事务未提取的数据。试想一下&#xff1a;a账户要给b账户100元购买商品&#xff0c;如果a账户开启一个事务&#xff0c;执行下面的update语句做了如下转账的工作&#xff1a;update account set moneymoney-100 where namea;update …

PHP MYSQL关键词统计系统_PHP MySQL Order By 关键词

ORDER BY 关键词ORDER BY 关键词用于对记录集中的数据进行排序。语法SELECT column_name(s)FROM table_nameORDER BY column_name注释&#xff1a;SQL 对大小写不敏感。ORDER BY 与 order by 等效。例子下面的例子选取 "Persons" 表中的存储的所有数据&#xff0c;并…

mysql 数据库引擎介绍_MYSQL 数据库引擎介绍

一般来说&#xff0c;MySQL有以下几种引擎&#xff1a;ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB)。注意&#xff1a;不同的版本支持的引擎是有差异的。当然啦&#xff0c;如果你感觉自己的确技术高超&#xff0c;你还能够使用MySQL来创建自己的数据库引擎&#xff0c;这个已经…

linux解压eclipse启动时无法找到jre环境的解决办法

使用软链接的方法&#xff1a; 1.打开终端进入到eclipse安装主目录下&#xff1a;mkdir jre 2.cd jre 3.ln -s /home/zhoushuo/app/jdk1.8.0_102/bin bin转载于:https://www.cnblogs.com/shuo1208/p/5927218.html

linux as5 启动mysql_Red Hat AS5进入救援模式的步骤

当因为某些原因导致无法通过正常引导进入系统&#xff0c;如GRUB损坏或者误删除了某些重要的系统配置文件&#xff0c;或者进行某些特殊的系统维护任务&#xff0c;例如忘记了root用户的口令需要进行重置。就需要使用Linux救援模式。(1)放入操作系统光盘(2)boot&#xff1a;下输…

VC使用sqlite

SQLite可以到官方站点(http://www.sqlite.org/download.html)下载&#xff1a;Linux,Mac OS X, Windows下的已编译文件以及源代码、帮助文档。 SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件&#xff0c;并没有提供用于VC6.0的lib文件&#xff0c;可以利用s…

mysql5.7.10 二进制包_MYSQL5.7二进制包的安装

mysql5.7 二进制包安装1. 下载包wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz2. 解压tar xxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gzmv mysql-5.7.12-linux-glibc2.5-x86_64 /usr/local/mysql3. 初始化useradd -M -s /sbin/…

easyUI文本框textbox笔记

知识点&#xff1a; 1.图标位置 Icon Align属性&#xff0c;有left和right两个&#xff1b; 2.textbox的setvalue方法&#xff0c;getvalue方法。 <div style"margin:10px 0 20px 0"><span>Select Icon Align: </span><select οnchange"$…

python代码计算字数_Python计算一个文件里字数的方法

本文实例讲述了Python计算一个文件里字数的方法。分享给大家供大家参考。具体如下&#xff1a;这段程序从所给文件中找出字数来。from string import *def countWords(s):wordssplit(s)return len(words)#returns the number of wordsfilenameopen("welcome.txt",r)#…

《A First Course in Probability》-chape4-离散型随机变量-几种典型分布列

超几何分布&#xff1a; 超几何分布基于这样一个模型&#xff0c;一个坛子中有N个球&#xff0c;其中m个白球&#xff0c;N-m个黑球&#xff0c;从中随机取n(不放回)&#xff0c;令X表示取出来的白球数&#xff0c;那么&#xff1a; 我们称随机变量X满足参数为(n,m,M)的超几何分…