一丶数据库服务器丶数据管理系统丶数据库丶表与记录的关系

  记录:1 xxxx 3245646546(多个字段的信息组成一条记录,即文件中的一行内容)

  表: Student.school,class_list(即文件),用来存放多行内容/多条记录

  数据库: huoxingren_stu(即文件夹),用来组织文件/表

  数据库管理系统; 如mysql(是一个软件)

  数据库服务器:一台计算机(对内存要求比较高),运行数据库管理软件

二丶MySql安装和基本管理

  1.mysql是什么?

   通俗:mysql就是一个基于socket编写的C/S架构的软件

  2.数据库管理软件分类

分两大类:
  关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
  非关系型:mongodb,redis,memcache 总结两句话:
关系型数据库需要有表结构
非关系型数据库是key-value存储的,没有表结构 所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点: 1.数据以表格的形式出现 2.每行为各种记录名称 3.每列为记录名称所对应的数据域 4.许多的行和列组成一张表单 5.若干的表单组成database RDBMS 术语
在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语: 数据库: 数据库是一些关联表的集合。. 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

  3.下载

  下载地址:https://dev.mysql.com/downloads/mysql/

  4.解压

    如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.6.40-winx64

  5.将路径添加到环境变量中:

  【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

  6.初始化;

mysqld #启动MySQL服务

  7.启动mysql客户端并连接mysql服务端(新开一个cmd窗口)

mysql -u root -p # 连接MySQL服务器
注意:--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.6.40-winx64\bin\mysqld" --install # 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove 注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql # 关闭MySQL服务
net stop mysql

  8.windows下登录设置密码

    打开终端,输入mysql,输入mysql提供的函数:select user();   #查看当前登录的账号

   如果想管理员模式登录,执行以下命令:

mysql -uroot -p

   管理员为root(拥有最高权限,管理员账号),密码为空,以无密码的方式登录了管理员账号,是非常危险的一件事情,所以要为管理员账号设置密码

C:\Users\mjj>mysqladmin -uroot -p password "123"  #设置初始密码 由于原密码为空,因此-p可以不用 注意这句话不起作用,请使用update mysql.user set authentication_string =password('') where User='root'; 

  如果想将原始密码123,设置新密码为456

C:\Users\mjj>mysqladmin -uroot -p"123" password "456"  #修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码

  再次登录时就得输入   mysql -uroot -p456

  9.密码忘记--破解密码

  跳过授权方式,直接登录!!

    (1)以管理员的身份运行cmd

    (2)停掉mysql服务端

      net stop mysql

    (3)执行如下命令跳过授权表

      mysqld --skip-grant-tables

    (4)再次查看

      mysql -uroot -p

    (5)现在可以任意的更改密码,执行如下命令

 update mysql.user set authentication_string =password('') where User='root';

    (6)刷新权限,执行命令

flush privileges;

    (7)退出   exit

    (8)让用户去加载权限,以管理员的身份进入cmd,查看当前mysql进程

tasklist |findstr mysql  #查看当前mysql的进程

    (9)杀死当前进程,执行如下命令

taskkill /F /PID 6052  # 杀死当前的进程pid

    (10)再次重启服务器即可

三丶统一字符编码

  \s查看当前的字符编码

  统一字符编码:

  1.创建一个my.ini文件

  2.将以下内容拷贝到my.ini文件中保存

[mysqld]
# 设置mysql的安装目录 **后面的路径一定是安装sql的目录(自己电脑的)**
basedir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64
# 设置mysql数据库的数据的存放目录,必须是data
datadir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # mysql端口
port=3306
# 字符集
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

四丶mysql的增删改查

  1.对文件夹(库) 的操作

  增:

create database db1 charset utf8;

  删:

drop database db1;

  改;

alter database db1 charset gbk;

  查;

#查看当前创建的数据库
show create database db1;
#查看所有的数据库
show databases

  2.对文件(表)的操作

use db1; #切换文件夹

select database(); #查看当前所在文件夹

  增:

create table t1(id int,name char);

  删;

#删除表
drop table t1;

  改:

#modify修改的意思
alter table t1 modify name char(6)
#改变那么为大写的NAME
alter table t1 change name NAME char(7)

  查:

#查看当前的这张t1表
show create table t1;
#查看所有的表
show tables;
#查看表的详细信息
desc t1;

  3.对文件内容(记录)的操作

  增:

#插入一条数据,规定id,name数据 leilei
insert t1(id,name) values(1,'哈哈'),(2,'哈哈2'),(3,'哈哈3');

  删:

delete from t1;
delete from t1 where id=2;

  改:

update db1.t1 set name='zhangsan';
update db1.t1 set name='alex' where id=2;

  查:

select id from db1.t1;
select id,name from db1.t1;
select * from db1.t1;

mysql数据库初步了解的更多相关文章

  1. 学习笔记:MySQL数据库初步 概念

    数据库 什么是数据库,数据库就是对大量信息进行管理的高效的解决方案,按照数据结构来组织.存储和管理数据的载体.而我们常说的数据库可以分为关系型和非关系型数据库. 关系型数据库 这里说的关系型数据库,是 ...

  2. 【数据库开发】在Windows上利用C++开发MySQL的初步

    [数据库开发]在Windows上利用C++开发MySQL的初步 标签(空格分隔): [编程开发] Windows上在上面配置环境的基础上开展一个小demo链接数据库,没想到中间也出现了这么多的问题,简 ...

  3. MySQL数据库学习初步

    我使用的环境是Win7,开始学习PHP和MySQL,并且买了本<Head First PHP & MySQL>,可以从Head First Labs官网获得HeadFirst系列书 ...

  4. 初步理解 MySQL数据库

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1. 索引是做什么的? 索引用于快速找出在某个列中有一特定值的行.不使用索引,MYSQL必须从第1条记录 ...

  5. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. MySQL数据库安装,配置My.ini文件

    最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySql所以在配置的时候出现了一些问题,该篇 ...

  7. MySQL mysqlimport 从txt文件中导入数据到mysql数据库

    mysqlimport: 我说这个我们还是先从世界观方法论的高度来理解一下便有更加准确的把握.数据导入不外呼有两个部分 第一部分:目标对象--我们要把数据导给谁(mysqlimport 的目标对象自然 ...

  8. 知识点:Mysql 数据库索引优化实战(4)

    知识点:Mysql 索引原理完全手册(1) 知识点:Mysql 索引原理完全手册(2) 知识点:Mysql 索引优化实战(3) 知识点:Mysql 数据库索引优化实战(4) 一:插入订单 业务逻辑:插 ...

  9. Java基础之MySQL数据库与JDBC

    一.数据库 DBMS         数据库管理系统 是由多个程序构成的专门用来管理大量数据的计算机系统 Server       提供数据存储.检索.计算等服务的网络程序+系统服务 Notifier ...

随机推荐

  1. [413D][搜索]D - Field expansion

    http://codeforces.com/contest/799/problem/D 解题关键:因为3^11>100000,所以若只把2单独拿出,最多只需要暴力2^11次,故只需要dfs一下即 ...

  2. 第四篇 express 安装esasticsearch

    1.首先,我们创建一个Express应用程序!我将使用express.js生成器. npm install -g express-generator express ./autocompleter c ...

  3. cocos2dx之lua绑定简析

    一.总原则:c++对象的生命期不依赖lua gc管理,手动创建的对象要手动销毁 二.引擎层在设计上就是支持脚本概念的(也就是说脚本的使用是“侵入式”的),与lua打交道的代码都封在CCLuaEngin ...

  4. hibernate查询的方式和变量

    1.实体查询: hql="FROM User"; List list= session.createQuery(hql).list(); for(Object obj:list){ ...

  5. 一款Regular expression在线检测工具

    记录下我自己使用的一款正则表达式使用工具 https://regex101.com/ 输入正则表达式后,可以在下面的“TEST STRING”中来测试对应的字符串是否满足该正则表达式 个人觉得非常好用

  6. UT源码116

    2)NextDate函数问题 NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性 NextDate函数包含三个变量month.day和year,函数的输出为输入日期后一天的日期. ...

  7. jquery事件之事件处理函数

    一.事件处理 方法名 说明 语法 (events 事件类型,data数据,handler 事件处理函数,selector 选择器) Bind( 为每一个匹配元素的特定事件(像click)绑定一个事件处 ...

  8. cinder 服务启动与请求流程源码分析

    文章以ocata版本进行分析 cinder   api 的创建和启动,和 nova   api 类似,都是通过在 api-paste.ini 中定义 app ,然后将 app 加载之后,启动 wsgi ...

  9. [CentOS7] 设备与文件名对应表

  10. select下拉框如何与接口配合动态生成option选项

    前几天在做任务时考虑到这个问题,具体任务用例如下: HTML: JS: