mysql入门知识
- 数据库
- 什么是数据库
就是存储数据的仓库(容器)- 存储数据的方式
1.变量 无法永久存储
2.文件处理 ,可以永久存储- 文件处理存在的弊端:
1.文件处理速度慢
2.文件只能在自己的计算机上读写 无法被共享(局域网除外)- 单台计算机的性能终归是有限的
1.升级你的硬件设备 提升幅度有限 垂直扩展
2.服务器集群 分布式 横向扩展- 一旦把服务器拆分开后,数据就必须能够被不同计算机共享
必须通过网络,也就是socket- 数据库软件的本质 也就是一个 基于socket(TCP)的C/S结构的程序
- 如果自己实现一个数据软件 需要解决的几个问题
1.一旦数据共享 就存在竞争问题,需要处理锁
2.不是所有的TCP连接请求都要接受,得加上安全验证
3.文件处理带来的效率问题, 需要想办法来提高处理速度 (索引)- 有很多现成数据库软件可以直接使用,又分为两大类
1.关系型数据库
该类型的数据 提供某种机制 可以帮你维护 数据与数据之间的关系
例如 学员数据 和 班级数据 可以通过其中一方 找到另外一方
一般都是基于文件实现的
优点:容量大 可以永久存储
mysql 免费开源,开源支持中小型企业并发- oracle 商用收费,学习免费,功能比mysql强大,用户管理和集群
SQLServer 属于微软生态圈,只能运行于 windows上
mariaDB mysql创始人:韦德纽斯 担心 mysql的前程 于是基于mysql开发了mariaDB 用起来是一模一样
DB2 IBM 360
sqllite 非常轻量级的数据库- 共同特征都支持SQL
结构化 查询语言
学习数据库的重点也就是SQL语句- 2.非关系型数据库
数据与数据之间是独立 不存在任何关联关系
以key:value的形式来存储数据
一般基于内存
优点:速度快
问题:断电丢失- MongoDB
redis
memcache- 该使用哪一类数据库?
应该搭配使用,把数据量大的 存到关系型中 把经常访问的放到非关系型中
提高访问速度- 数据库相关的概念
- 数据 本质上一堆带有含义的符号
name = jack- 数据记录
多个数据组成了一条完整记录
name,age,sex
jack,38,man
rose,20,woman- 表 本质就是一个文件
里面存储一堆数据记录- 库 本质就是一个文件夹
里面放一堆表文件- DBMS
data base manager system
数据库管理系统 (TCP的服务器)
负责管理一堆文件夹(即数据库)- 数据库服务器
指的是运行有TCP服务器的程序 的计算机- DBMS和服务器 一般运维管
到公司之后会分给你一个账号密码 以及服务器地址- mysqld 是服务器主程序
mysqld 警告说:创建文件失败 由于权限不足 用管理员权限运行即可
mysql 是无界面的客户端 需要在CMD运行
mysql连接服务器 需要指定以下参数
-h 主机地址(ip)
-P 端口号
-u 用户名
-p 密码- 服务器和客户端在同一台电脑 可以省略主机地址 端口号默认3306 可以省略
如果不指定用户名和密码 以游客模式登陆 什么都看不到- mysql 的安装:
1.带界面 一路next
2.压缩包 直接解压
2.1 添加环境变量
2.2 注册系统服务- 修改管理员密码
1.如果知道原始密码 mysqladmin -uroot -p password 123
2.不知道原密码 可以在启动服务器时 跳过 授权表
mysqld --skip-grant-tables
无密码登录服务器 执行修改密码的指令
update mysql.user set password = password("新密码") where user = "root" and host = "localhost";- 关于库的 语句
创建库
create database 库名称
删除库
drop database 库名称
修改库的属性
alter database 库名称 charset = "新的编码"
查看创建库详细信息
show create database mydb;
查看所有数据库
show databases
选择一个数据库
use 库名称- 关于表
增
create table 表名称(name char,age int);
create table 库.表名(name char,age int);- 查看所有表
show tables;
查看表的详细信息
show create table t1;
查看表结构 (字段)
desc t1;- 改
alter table t1 charset = "gbk"; 改编码
alter table t1 add sex char; 添加字段
alter table t1 drop sex; 删除字段
alter table t1 modify age char; 修改字段的类型
alter table t1 change age ages int; 修改字段的名字和类型
rename table t1 to table1; 修改表的名称- 删除
drop table table1;- 数据记录相关操作是重点学习对象
# 一次性插入多条记录
insert into table_name values("陈麻子",20);
# 一次性插入多条记录
insert into table_name values(值1,值2),(值2,值2),...;
上述语法 值的个数必须与字段的个数相同- # 指定要插入数据的字段
insert into t2(name) values("我只有姓名啊")- 查看数据
select * from t2; * 表示查看所有字段 多个字段用逗号隔开- 修改
update t2 set age = 100; 没有条件则全部修改
update t2 set age = 100 where name = "陈";
update t2 set age = 100,name = "刘铁柱" where name = "陈" ;- 删除数据
delete from t2 where name = "刘铁柱";
mysql入门知识的更多相关文章
- MySql入门知识(一)
概述 MySQL是一个真正多用户,多线程结构化查询语言数据库服务器.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL的SQL语言是用于访问数据 ...
- java web mysql 入门知识讲解
MySQL学习笔记总结 一.SQL概述: SQL:Structured Query Language的缩写(结构化查询语言) SQL工业标准:由ANSI(ISO核心成员) 按照工业标准编写的SQ ...
- [置顶] Mysql存储过程入门知识
Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...
- 2. Mysql数据库的入门知识
2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...
- MySQL入门(三)
写了两篇<MySQL入门>以后我发现,写书的人还是都挺有本事的,起码人家知道怎么编排自己想讲的知识点,我实在是不知道该先说那里后说哪里,那我就想到什么讲什么吧. 一 写SQL 其实我是不想 ...
- zabbix入门知识
zabbix入门知识 zabbix中文手册 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介绍 Zabbix 是一个企业级的分布式开 ...
- MySQL入门——MySQL数据库和SQL语言
MySQL入门——MySQL数据库和SQL语言 摘要:本文主要了解了MySQL关系型数据库和SQL语言的基本知识. MySQL数据库 简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB ...
- 《MySQL必知必会》学习笔记——附录A MySQL入门
附录A MySQL入门 如果你是MySQL的初学者,本附录是一些需要的基础知识. A.1 你需要什么 为使用MySQL和学习本书中各章的内容,你需要访问MySQL服务器和客户机应用(用来访问服务器的软 ...
- MySQL 基础知识梳理
MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...
随机推荐
- appium-desktop录制脚本二次开发,生成我司自动化脚本
目的 通过对appium-desktop脚本录制功能进行二次开发,使录制的java脚本符合我司自动化框架要求. 实现步骤 1.增加元素名称的输入框 由于ATK(我司自动化测试框架)脚本中元素是以“ap ...
- Asp.Net Core&钉钉开发系列
阿里钉钉在商业领域的规模越来越大,基于钉钉办公的企业越来越多,将一个企业内现有用到的工具(如钉钉)能够更融入到他们的工作中,提高工作效率,那便需要开发者不断的学习.应用了,同时,个人也有一个预感,未来 ...
- JS 实现的年月日三级联动
js文件 SYT="-请选择年份-"; SMT="-请选择月份-"; SDT="-请选择日期-"; BYN=50;//年份范围往前50年 A ...
- css3 之炫酷的loading效果
css3 之炫酷的loading效果 今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用 js需要引入jquery 只用到了一点点js 先看效果图 html: ...
- cesium 之地图切换展示效果篇(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- 【Android】用Cubism 2制作自己的Live2D——官方App样例源码学习(1)!
前言- 上几篇文章,我们一个一个的研究了Cubism官方提供的Android使用Live2D的简单例子,但是依旧和大家平时见到的还是有很大差距的.在研究了代码差不多一周以后,我决定还是用文字的形式记录 ...
- 章节十、2-用Linktext和PartialLinkText、ClassName、TagName定位元素
一.通过内容的方式定位元素 使用Linktext和PartialLinkText定位元素的前提需要"文本"在“a”标签内,selenium才可以找到链接文本或者部分链接文本的元素. ...
- sqlserver—数据完整性(理论篇)
数据完整性主要指的是数据的精确性和可靠性,目的就是为了防止数据库中存放的数值,以及字符具有合法性(即按照管理员定义的规则进行存放) 分为以下四类: 实体完整性 实体完整性要求每一个表中的主键字段都不能 ...
- 关于raft算法
列出一些比较好的学习资料, 可以经常翻一番,加深印象 0 raft官方git 1 raft算法动画演示 2 Raft 为什么是更易理解的分布式一致性算法 3 raft一致性算法 4 Raf ...
- 快速构建SPA框架SalutJS--项目工程目录 一
起因 刚进公司那会儿,接的是一个微信APP应用,SPA是前人搭起来的,用到的技术主要是backbone和zepto.后来那人走了,就卤煮一个人把项目接了下来.项目越是到后面,越发觉了诸多弊端,不停的增 ...