-
MySQL教程之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 = "刘铁柱";
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式