1. 数据库是什么

存数据的仓库

2. 为什么使用数据库

  1. 管理大量数据
  2. 支持并发操作
  3. 支持高级的操作,比如分组,链表等

3. 数据库的分类

1. 关系型数据库

表结构存储,对每一列的数据的类型会有约束,数据存在硬盘中

Mysql,maridb(免费,企业用的多),Sqlserver(大学、政府),Oracle(金融公司,阿里),sqlite(自己玩的小型数据库)

2. 非关系型数据库

key-value存储,对于数据没有约束,数据存在内存中

memcache(十年前的产品,未能解决断电即消失的问题),mongodb(文档型数据库,爬虫),redis(微博)

4. mysql的架构

  • 类似于socket的客户端和服务端

  • 流程
    1. MySQL服务端先启动,监听在某一个特定的端口(3306)
    2. MySQL客户端连接服务端
    3. MySQL客户端就可以发送相关的操作命令,去操作服务端存储的数据

5. mysql的安装

1. windows的安装

  1. 下载:MySQL Community Server 5.7.16
    http://dev.mysql.com/downloads/mysql/
  2. 解压
    如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:E:\mysql-5.7.16-winx64
  3. 添加环境变量
    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
  4. 初始化
    mysqld --initialize-insecure :创建data目录, 初始化的数据
  5. 启动MySQL服务
    mysqld:启动MySQL服务
  6. 启动MySQL客户端并连接MySQL服务
    mysql -u root -p: 连接MySQL服务器

2. windows服务

上一步可以运行MySQL,但不够彻底,执行mysql执行服务端会阻塞住,因此要将MySQL添加到windows服务

  1. 添加windows服务

    cmd运行命令:"e:\mysql-5.7.16-winx64\bin\mysqld" --install

    注意:--install前,必须用mysql启动命令的绝对路径

  2. 启动MySQL服务

    cmd运行命令:net start mysql

  3. 关闭MySQL服务

    cmd运行命令:net stop mysql

  4. 移除windows服务

    cmd运行命令:"e:\mysql-5.7.16-winx64\bin\mysqld" --remove

    注意:这里的路径也必须是绝对路径

3. 设置密码

mysql -u root -p: 管理员root用户 ,默认没有密码

  1. -u:user 用户名
  2. -p:password 密码
  3. -h:host 主机名或IP mysql -uroot -p -h 192.168.1.10
  4. -P:port 默认是3306
  • 管理员登录的情况下:

    set password = password('密码'); # 给当前数据库设置密码

  • 没有登录的情况下:

    mysqladmin -uroot password "123" :设置初始密码 由于原密码为空,因此-p可以不写

    mysqladmin -uroot -p "原密码" password "新密码":修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密

4. 忘记密码

  1. 关闭mysqld的windows服务
  2. cmd中执行:mysqld --skip-grant-tables(不用密码就可以登录,绕过密码验证的权限)
  3. cmd中执行:mysql
  4. cmd中执行:update mysql.user set authentication_string=password('新密码')where user = 'root';
  5. cmd中执行:flush privileges;
  6. cmd中执行:tskill mysqldtaskkill -f /PID7832
  7. 重新启动

5. 新建账号

MySQL> create user 'nick'@'192.168.10.%'   IDENTIFIED BY '123';# 指示网段
MySQL> create user 'nick'@'192.168.10.5'   # 指示某机器可以连接
MySQL> create user 'nick'@'%'                    #指示所有机器都可以连接
MySQL> show grants for 'nick'@'192.168.10.5';查看某个用户的权限
# 远程登陆
$ MySQL -uroot -p123 -h 192.168.10.3

# 给账号授权
MySQL> grant all on *.* to 'nick'@'%';
MySQL> flush privileges;    # 刷新使授权立即生效

# 创建账号并授权
MySQL> grant all on *.* to 'nick'@'%' identified by '123' 

修改mysql的密码:

初识mysql

SQL指令都要加;

操作数据库

  1. create database 数据库名称 charset utf8;
    # 命名规范
    #    1. 可以有字母、数字、下划线、@、#、$
    #    2. 区分大小写
    #    3. 唯一性
    #    4. 不能使用关键字
    #    5. 不能单独使用数字
    #    6. 最长128位
    
    show create database 数据库名;
  2. drop database 数据库名称;
  3. # 删除在增加
    # 如果数据库中有数据的话,直接drop会导致数据库的数据丢失
    # 线上环境,不能直接删除数据,在删除之前,需要进行备份
  4. show databases;
  5. 使用数据库

    user 数据库名;

操作数据表

操作表记录

(day33)数据库的更多相关文章

  1. JSP应用开发 -------- 电纸书(未完待续)

    http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术   第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...

  2. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  3. GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级

    一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...

  4. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  5. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  6. 在SQL2008查找某数据库中的列是否存在某个值

    在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...

  7. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  8. SQL Server2014 SP2新增的数据库克隆功能

    SQL Server2014 SP2新增的数据库克隆功能 创建测试库 --创建测试数据库 create database testtest use testtest go --创建表 )) --插入数 ...

  9. 数据库优化案例——————某市中心医院HIS系统

    记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...

随机推荐

  1. MySql错误处理--错误代码和消息

      附录B:错误代码和消息 目录 B.1. 服务器错误代码和消息 B.2. 客户端错误代码和消息 本章列出了当你用任何主机语言调用MySQL时可能出现的错误.首先列出了服务器错误消息.其次列出了客户端 ...

  2. java项目打包

    http://blog.csdn.net/qq_34845382/article/details/53885907 自己用Rinnable JAR file 方法也可以.更简单.直接点击Finish即 ...

  3. Scrapy项目 - 源码工程 - 实现豆瓣 Top250 电影信息爬取的爬虫设计

    一.项目目录结构 spiders文件夹内包含doubanSpider.py文件,对于项目的构建以及结构逻辑,详见环境搭建篇. 二.项目源码 1.doubanSpider.py # -*- coding ...

  4. Linux 中文打字软件 gtypist 光标错位解决

    在windows 下有 金山打字和其他的跟打软件,在Linux下找到了 gtypist 为练习中文打字,该软件分为练习模式的速度测试模式,在gtypist-2.9.5版中会出现以下几个问题: 一是在练 ...

  5. XLNet预训练模型,看这篇就够了!(代码实现)

    1. 什么是XLNet XLNet 是一个类似 BERT 的模型,而不是完全不同的模型.总之,XLNet是一种通用的自回归预训练方法.它是CMU和Google Brain团队在2019年6月份发布的模 ...

  6. 【IT技术概念】什么是webservice?

    WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互. WebServi ...

  7. Java 多线程练习

    题目:某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程, 并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码.线 ...

  8. C语言——2019秋季作业

    1.[你对软件工程专业或者计算机科学与技术专业专业了解是怎样? ] 答:1.软件工程专业是2002年国家教育部新增专业,随着计算机应用领域的不断扩大及中国经济的不断发展,软件工程专业成为一个新的热门专 ...

  9. Linux——服务器版本安装 (VMware)

    一.Linux简介 Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网 ...

  10. Python 模拟淘宝登录的两种方法

    方法一.urllib的post登录 import urllib import urllib2 import cookielib def taobao(username,password): cj = ...