MySQL基础-1
数据库的基本概念
什么是数据库
字面意思数据库就是存储数据的仓库,正常情况下我们存储数据的方式有:
列表,字典,元组……等
这些都存在内存中
优点:存取速度快
缺点:计算机断电就消失了
文件存储
通过文件进行存储,保存在硬盘
优点:永久保存
缺点:存取速度慢
而我们的数据库也是通过文件进行存取,它是一套基于CS架构的客户端和服务器程序,最终数据都会存储在服务器的磁盘上
为什么要使用数据库
使用文件存储带来的问题:
存取速度慢
单台机器容量有上限,且程序可能会在不同的机器上运行
如果使用单台机器,性能有上限,所以当一台机器无法满足客户访问需求时,就需要增加机器来共同完成任务
分布式 每一个服务器提供不同的服务
优点:降低了程序之间的耦合度,更加容易维护
缺点:通讯比较繁琐,容灾性比较差
集群 所有的服务器提供一样的服务
优点:容灾性强,易扩展,随时可以增加删减服务器数量
如此一来,我们用户的数据就会分布在不同的服务器上,我们该怎样获取用户数据呢?
只能通过网络取进行访问
用户权限管理
多个客户端并发访问,无法保证数据安全
数据库的分类
关系型数据库
数据之间存在相互关联关系,数据库可以维护这种关系
存储介质:一般是磁盘
常见的关系型数据库:
Mysql
目前最流行的关系型数据库,适用于中小型企业
SQL server
微软旗下产品,只能在Windows平台上运行
oracle
目前最强大的关系型数据库,在集群和用户管理上非常突出,适合大型企业
db2
IBM产品,主要面向企业级用户,通常和硬件捆绑销售
非关系型数据库
数据之间不存在关系,需要用户自己维护数据之间的关系
存储介质:一般是内存
常见的非关系型数据库:
- mongoDB
- redis
- memcache
数据库的重要概念
| 名称 | 概念 |
|---|---|
| 数据(Columu) | 文件中的某一个字符串 |
| 记录(Row) | 文件的某一行 |
| 表(Table) | 某个文件 |
| 库(DataBase) | 文件夹 |
| DBMS | 数据库管理系统 |
| 数据库服务器 | 运行DBMS的计算机 |
数据库的安装
一般采用压缩包的方式进行安装,直接解压到本地就可以了
安装步骤
先去 https://dev.mysql.com/downloads/mysql/ 下载Mysql社区版本,选择版本号,建议使用5.6版本
下载完成后,解压到本地
添加环境变量
注册系统服务
通过管理员身份运行cmd
注册:mysqld --install 将mysqld服务器添加到服务中,能够开机进行自启
启动服务:net start mysql 启动服务器
停止服务:net stopmysql 启动服务器
简单使用数据库
在cmd终端输入mysql启动客户端,此时是以游客的身份进行登录
如果要进行登录操作,就需要在终端里指定用户名密码等参数
命令:
mysql -h127.0.0.1 -P3306 -uroot -p常见参数:
- -h 指定主机名称,在本机运行就是127.0.0.1,一般默认为主机,可以不写
- -P 指定端口,默认为3306,可以不写
- -u 指定用户名,root是管理员身份
- -p指定密码,root默认密码为空
管理员密码设置
知道原始密码
先登录进去,然后执行更新语句进行修改
输入:
update mysql.user set password=password("新密码") where host="localhost" and user="root"刷新权限
输入:
flush privileges使用mysqladmin小工具
命令:
mysqladmin -uroot -p原始密码 password 新密码
不知道原始密码
跳过授权表,手动启动mysqld,指定参数
命令:
mysqld --skip-grant-tablesupdate user set password = password("新密码") where host="localhost" and user="root";
重启mysqld就可以了
库的操作
# 切换数据库
mysql> use 数据库名称 # 查看所有数据库
mysql> show databases; # 必须加分号 # 查看数据库详情
mysql> show create database 数据库名称; # 创建新的数据库
mysql> create database 数据库名称; # 创建新的数据库,并指定编码方式
mysql> create database 数据库名称 charset 编码方式; # 不能加- # 修改数据库的编码方式
mysql> alter database 数据库名称 charset 编码方式; # 删除数据库
mysql> drop database 数据库名称;
数据库命名规范:
- 不区分大小写
- 不要使用关键字,例如create,drop……
- 不能使用纯数字
- 可以使用下划线,通常是字符数字下划线组合使用
表的操作
# 创建表
mysql> create table 表名称(列名称1 数据类型,列名称2 数据类型,……) charset 编码方式; # 查看当前库下的表
mysql> show tables; # 查看表结构
mysql> desc 表名称 # 查看表的创建详情
mysql> show create table 表名称; # 删除表
mysql> drop table 表名称; # 清空表数据
mysql> truncate table 表名称; # 修改表名
mysql> rename 旧的表名称 to 新的表名称; # 修改表的编码
mysql> alter table 表名称 charset 编码方式(utf8); # 添加字段
mysql> alter table 表名称 add 列名称 数据类型; # 删除字段
mysql> alter table 表名称 drop 列名称; # 修改数据类型
mysql> alter table 表名称 modify 列名称 新的数据类型; # 修改列名
mysql> alter table change 旧的列名称 新的列名称 数据类型;
MySQL基础-1的更多相关文章
- Mysql基础代码(不断完善中)
Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- 【夯实Mysql基础】记一次mysql语句的优化过程
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...
- MySQL基础(非常全)
MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...
- mysql 基础篇5(mysql语法---数据)
6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...
- MySQL 基础语句
MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...
- MySQL:基础—数据分组
MySQL:基础-数据分组 1.为什么要分组: 比如一个表中有多条订单记录,如上图,每条记录对应着一个商品,现在我要查询 每个商品被订购的单数 准备出货?也就是找到每个商品被订购的数量. 如果只找一个 ...
- MySQL基础学习总结
1.MySQL基础概念 mysql逻辑架构如下: 每个客户端连接都会在服务器中拥有一个线程,这个连接的查询只会在这个单独的线程中执行. MySQL是分层的架构.上层是服务器层的服务和查询执行引擎,下层 ...
- MySQL基础(五)——视图
MySQL基础(五)--视图
- MySQL基础(四)——索引
MySQL基础(四)--索引
随机推荐
- ie和谷歌的兼容性问题
1.表单的归类 ie下的表单元素在设置了disabled禁用属性之后,在ie下点击,仍然会有焦点.谷歌这是正常的没有焦点 解决方法:给表单元素设置增加属性 unselectable='on' 即可.
- 从websocket协议出发,了解应用层协议,传输层协议,网络的7层协议
其他关联连接 :TCP的三次握手(建立连接)和四次挥手(关闭连接) 1.websocket是全双工,不同于传统半双工通信 传统的Web应用中,浏览器与服务器交互都是半双工通信(但并不完全是半双工通信, ...
- Resource Site
GameDevMarket.net Collection of Music, Sound effects (sfx), 2D/3D/GUI Art. http://gaurav.munjal.us/U ...
- FormData用法
https://www.jianshu.com/p/230e7000cefd FormData的主要用途有两个: 1.将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表 ...
- 【电脑】xshell报:需要Xmanager软件来处理X11转发请求
https://www.netsarang.com/zh/xmanager/ 下载了就好了 我的图片出不来,下了就好了.
- linux学习18 shell脚本基础-bash变量和逻辑运行
一.回顾 1.用户管理,权限管理,install,mktemp 2.用户管理: 3.权限管理: mode,ownership mode: user group other r w x 4.命令:ins ...
- java 补充(final、static)
final 固定的 final 修饰类的时候,只能作为子类继承,不能作为父类. final 定义变量时,必须给成员变量赋值.------ 1.直接赋值 2.构造方法. final 修饰成员方法时 ...
- Layui 隐藏左侧菜单
简单实现 //隐藏菜单 var bl = $("#LAY_app_flexible").hasClass("layui-icon-shrink-right"); ...
- cf1199解题报告
目录 cf1199解题报告 A B C D E F cf1199解题报告 发一波水题. A 模拟 #include <bits/stdc++.h> #define ll long long ...
- Problem B. 即时战略 ———2019.10.12
题目: 代码~:感谢土蛋 #include <iostream> #include <cstring> #include <cmath> #include &l ...