12sever1MSQ数据库

178 阅读7分钟

1、学习的原因: 1、前端的招聘要求 - 熟悉 或 了解一门服务器端语言者优先 2、对于我们前端来说,了解服务器端的机制,更好更快的进行前端开发

扩展:
  全栈工程师:客户端(PC+移动端+小程序) + 服务器端(php+node.js) + 数据库(MySQL+mongoDB)
  技术类发展:
	全栈 - 涉及多个领域,每个领域都会用,但是不必精通	-> 架构师 -> 项目经理 -> 技术总监CTO
	专家 - 某个领域很强的,无敌:有创造的能力,vue的创造者

  销售类发展:
	产品 -> 产品经理 -> 产品总监

  创业类:HTML + CSS
  教学类:

可能成为全栈的语言:
	1、java语言 - 不包含移动端(不包含ios)
	2、javascript语言
		客户端 - 开发根本
		服务器端 - node.js 历史上第一次一门语言可以通吃前后端
		移动端 - 网页/app/小程序/公众号(ios+andriod没落了:正是因为前端的崛起:一个前端可以跨平台开发 - 诞生了一个技术混合开发:uniapp框架)
		数据库 - MySQL、mongoDB

server:2天
MySQL一天 + PHP一天
对服务器端的掌握 - 入门
最终目的:全栈开发:登录+注册+搭配上3天ajax完成全栈一条龙:对网页进行增删改查
小项目:图书/金夫人/咖啡管理系统

2、基本内容: 服务器概念: 简单来说就是一台电脑 生活中:微机 商业/国家:小型机(造价几十万,好的上百万)、中型机、大型机、超级计算机

	拥有服务器的方式:
		1、买 - 配置较好的微机:中小型公司
		2、租一台云服务器 - 腾讯云/阿里云/百度云/新浪云... - 配置自己选择,价格好商量,按年收费
		3、买一台小型机 - 对小公司遭不住

对于开发人员来说
	硬件服务器 - 电脑
	软件服务器 - 中间件(软件可以将你的电脑变成一台服务器:别人可以来访问)

软件架构:
  C/S:clinet客户端/server服务器端
		举例:QQ/微博/大型网络游戏

		优点:用户体验感较好
		      运行稳定
		      对带宽要求低
		缺点:占硬盘空间
		      更新过于麻烦 - 服务器端和客户端都要更新

  B/S:browser浏览器端/server服务器端
		举例:网页版QQ/微博/游戏

		优点:几乎不占硬盘
		      更新简单 - 只需要更新服务器端
		缺点:带宽要求高
		      体验感越来越棒了 - 云平台游戏(根本不关心你电脑的配置如何,也不需下载,打开即玩,但是带宽要求高)

XAMPP软件 - 中间件 安装:双击->一路往下冲 Apache - 用于运行PHP的环境 出现错误: 1、直接弹出一警告框:你的电脑里缺少api-ms-win-crt-conio-l1-1-0.dll文件 解决:粘贴到C:/windows/sysWow64 2、错误日志:error:apache shutdown .... - 你的端口号被占用了 修改:点击apache 对应的 config按钮,前两个选项:第一个选项把所有的80可以换成别的,第二选项把所有的443换成别的 能不改,就不改 - 默认端口可以省略不写

			3、如果以上两个操作都不行,再看看你的安装路径是不是有错,必须在装载:盘符:/xampp

			4、如果以上3个操作都不行,重装系统

	TOMCAT - 用于运行java的环境

	如果你的apache 成功运行了,恭喜你,你的服务器已经开启了(私网/局域网)

	如何访问Apache服务呢(网站)?其实apache服务器控制这一个文件夹:d:/xampp/htdocs
		自己访问:
			打开浏览器:输入
				127.0.0.1:端口号
				localhost:端口号
				主机号只有自己可用

	其他人也可以来访问:
		打开cmd输入ipconfig,把ipv4给对方就可以了
			192.168.30.5

	在服务器上搭建一个自己的项目
		把自己做的做过的任意一个项目:全部复制到d:/xampp/htdocs

	添加网页小图标:
		任意图片,放到d:/xampp/htdocs,名字改为favicon.ico

	修改顶级域名 - 假象(没花钱,只有自己可以用)
		C:\Windows\System32\drivers\etc\hosts文件
		在最后添加一句话127.0.0.1		www.daiyue.com
		问题1:保存时,系统文件,不允许修改,另存为到桌面,拖进去覆盖它
		问题2:打开是一个白板,把代老湿提供的覆盖过去

MySQL - 数据库产品:2大类 关系型数据库 - 以表格为主 Oracle - Oracle(甲骨文) 主要应用于【企业级】开发市场:大公司、国企、事业单位:警察局、医院...(不差钱) - 优势:安全性高 缺点:收费的 MySQL - Oracle(甲骨文) 主要应用于【互联网】开发市场 - 优势:免费、简单、开源 - 中小型企业 sqlserver - 微软:大学讲课

非关系型数据库 - 没有固定的格式
	是一种运动 - 反关系型数据库
	主流产品 - mongoDB,以JSON格式为主

MySQL
最初是由MySQL AB软点化公司推出
瞬间爆火 - 免费、简单、开源
		个人:修改、查看、添加、删除源代码 - 开挂、私服
		公司:免费聘请民间大佬帮你做测试,帮你升级,帮你维护
		开源项目几乎不会赚钱:只能等你赞助
爆火的网站架构:LAMP - Linux系统 + Apache + MySQL + PHP - 这四个都是免费的,让中小公司的老板非常happy,只需支付员工费+场地费+水电气费
企业级网站架构:Linux(AIX) + JavaEE + Oracle + weblogic - 一套架构下来起码上百万 - 安全性高
MySQL AB被sun公司收购了
sun公司后期又被oracle公司收购了
oracle不会被收购,大佬,三款明星产品:
	oracle
	mysql - 社区版(免费)和商业版(收费)
	java

为什么叫MariaDB?
	MySQL的作者在oracle公司受到了歧视排挤,并不重视
	MySQL的作者就自己出来重新做了原滋原味的MySQL了,但是名字不能再叫mysql,因为版权问题
	用了自己小女儿的名字命名

go语句诞生原因之一,就是因为使用java底层的2句代码,被告了,赔偿了2个亿


b c
c++ c#
python			 java
巨蟒			 sun:太阳
皮同
希腊过来的一个词		 太阳神阿波罗

阿波罗杀了皮同

MySQL基本内容: 访问:2种 1、图形化界面(更加简单更美观)方式 - 傻瓜式操作 要求:同时打开mysql和apache 访问:127.0.0.1:端口号/phpmyadmin localhost:端口号/phpmyadmin

	有的同学可能打不开


  2*****命令行方式:复杂很多,但是只有这样你才能学到真正的技术:SQL语句
	如何进入数据库:
		1、打开cmd
		2、输入cmd的命令,进入到d:/xampp/mysql/bind
			1、输入:盘符:  回车
			2、输入:cd xampp/mysql/bind
		3、登录:mysql -uroot -p 回车不要加分号
		4、退出:exit
		5SQL语句:关系型数据库SQL语句互通
			1、数据库:
				查看数据库:SHOW DATABASES;

				创建数据库:CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET utf8;

				切换数据库:USE 数据库名称;

			2、数据表:只教你如何创建数据表
				数据库的数据类型:
					数值:Int - 整型
					      Float/Double - 浮点型
					      Decimal - 精确值

					字符串:
					      Char - 长度固定的
					      Varchar - 长度可变的

					日期:
					      Date - YYYY/MM/DD
					      Datetime - YYYY/MM/DD hh:mm:ss
					      Timestamp - 时间戳(标识:唯一不重复 - id也可以)

				创建数据表:
					CREATE TABLE 表名(
						字段名 数据类型,
						...
					);

				举例:CREATE TABLE user(
						id int PRIMARY KEY AUTO_INCREMENT,
						name varchar(30),
						pwd varchar(6),
						email varchar(30),
						vip varchar(1)
				      );

					PRIMARY KEY:主键约束:绝对不会重复
					AUTO_INCREMENT:主键自增:每次都会+1
				

			3*****数据/记录:
				增:INSERT INTO 表名 VALUES(字段值,...);
				举例:INSERT INTO USER VALUES(0,"张颜","123456","zy@qq.com","0");

				删:DELETE FROM 表名 WHERE id=几; - 一旦删除数据就不回再回来了

				改:UPDATE 表名 SET 字段名=字段值,... WHERE id=几;

				查:3种语法:
					SELECT * FROM 表名;
					SELECT 字段名,字段名,... FROM 表名;
					SELECT * FROM 表名 WHERE id=几;

	疑惑:
	  1、为什么SQL语句要大写:约定,可以不遵守,放到PHP中为了瞬间一眼找到SQL语句
	  2、这些语句以后绝对不可能用cmd来运行,以后会在后端脚本php语言中运行

作业: 1、用cmd命令行方式:创建一个数据库h52202,创建两个数据表 - 自己手敲 1、user表:id/name/pwd/email/vip - 数据不低于5个 2、books表:序号/书名/作者/单价/数量/简介/内容/vip - 不低于5本书