【0920 | Day 36】数据库(上)

数据库简介

  • 数据库:管理数据的系统或是安装某种管理数据的系统,管理的对象本质是文件
  • 存储数据的位置:内存、硬盘
  • 系统:运行在硬件基础上,管理其他软件

数据库组成

  • 数据库的组成:库》表》记录==》字段

    • 库:存放多张表 - 文件夹
    • 表:包括多条相同结构的记录 - 文件
    • 记录:包含多个key-value键值对的一条数据 - 二进制数据
    • 字段:描述信息 - 信息本身(key - value) - 二进制数据
  • student
    ...
    id	name	age		gender
    1	Bob 	18 		男
    2	Tom 	17 		女
    ...
    

数据库分类

  • 关系与非关系

    • 关系:数据库中表与表之间有联系 - MySQL
    • 非关系:没有表概念 - Redis、MongoDB(介于关系和非关系之间)
  • 内存和硬盘

    • 硬盘:数据可以永久存储 - MySQL、MongoDB
    • 内存:数据的存取效率极高 - Redis、memcache
  • sql与nosql

    • sql:数据库操作通过sql语句

    • nosql:数据库操作就是key-value形式(value就是一条记录)

      stu - {'name': 'Bob', 'age': 18}
      stus - [{'name': 'Bob', 'age': 18}, {'name': 'Tom', 'age': 18}]
      name - 'Jerry'
      

卸载

启动终端,输入mysql,如果不是提示或不是内部或外部命令,代表已安装数据库

  • 直接连入

    • 搜索:服务,检索mysql服务,有

        停止服务并移除服务,启动管理员终端:
      
                        mysql - remove
  • 搜索:服务,检索mysql服务,无

      停止服务,启动管理员终端:
    
                    tasklist | findstr mysql
                    taskkill /pid 进程pid /f
  • 连接超时

    • 搜索:服务,检索mysql服务,移除服务即可
  • 移除环境变量

总结:如果能连入,先停止服务》如果已添加服务,就移除服务》取消环境变量配置

安装

  • 解压免安装版本(5.6 - 没有初始密码)
  • 配置环境变量:数据库绝对路径下的bin
  • 配置服务:启动管理员终端:mysql -- install [nmysql]

连接数据库

第一种

  • 游客登录(不一定能登入,登入了也没有任何权限)
    • =>: mysql

第二种

  • 账号密码登录

    • =>: mysql - u root - p 123456

    • 再输入密码,没有任何提示,没有密码直接回车

第三种

  • 连接指定服务器的mysql

    • =>: mysql - h ip地址 - p 端口号 - u 账号 - p

    • 回车后敲入密码

    • eg:=>:mysql - hlocalhost - p3306 - uroot - p

第四种

  • 退出数据库
    • =>:quit
    • =>:exit

用户信息查看

  • 查看当前登录用户
    • mysql>: select user()
  • root登录下,查看所有用户信息
    • mysql>: select * from mysql.user
    • mysql>: select * from mysql.user \G
    • mysql>: select user,password,host from mysql.user
  • root登录下,删除游客(操作后要重启mysql服务)
    • mysql>: delete from mysql.user where user=''
  • root登录下,修改密码(操作后要重启mysql服务)
    • mysql>: update mysql.user set password=password('12345678') where host='localhost'
  • 没有登录时,修改密码(操作后要重启mysql服务)
    • mysqladmin -u用户名 -p旧密码 -h域名 password "新密码"
    • mysqladmin -uroot -p12345678 -hlocalhost password "root"
  • root登录下,创建用户
    • mysql>:grant 权限们 on 数据库名.表名 to 用户名@主机名 identified by '密码'

数据库的基本操作

  • 查看已有数据库
    • mysql>:show databases
  • 选择某个数据库
    • mysql>:use 数据库名
  • 查看当前所在数据库
    • mysql>:select database
  • 创建数据库
    • mysql>:create database 数据库名 [charset=编码格式]
    • create database owen
    • create database zero charset=utf8
    • create database tank
  • 查看创建数据库的详细内容
    • mysql>:show create database 数据库名
    • show create database adela
  • 删除数据库
    • mysql>: drop database 数据库名
    • drop database tank

表的基本操作

先选取要操作的数据库

  • 查看已有表
    • mysql>: show tables
  • 创建表
    • mysql>: create table 表名(字段们)
    • create table student(name varchar(16),age int)
    • create table teacher(name varchar(16), age int)
  • 查看创建表的sql
    • mysql>: show create table 表名
    • show create table student
  • 查看创建表的结构
    • mysql>: desc 表名
  • 删除表
    • mysql>: drop table 表名
    • drop table teacher

记录的基本操作

  • 查看某个数据库中的某个表的所有记录,如果在对应数据库中,可以直接查找表

    • mysql>: select * from [数据库名.]表名

      注:*代表查询所有字段

  • 给表的所有字段插入数据

    • mysql>: insert [into] [数据库名.]表名 values(值1,......,值n)
  • 给name和age两个字段的student表插入数据

    • 插入一条:insert into student values('Adela',18)
    • 插入多条:Insert into student values(’恩娜‘,18),(’小椰‘,20)
  • 根据条件修改指定内容

    • mysql>: update [数据库名.]表名 set 字段1 = 新值1,字段n = 新值n where 字段 = 旧值

    • update student set name = '王五',age = ’100‘ where name = ’张三‘

    • update student set name='呵呵'

      注:i) 可以只修改部分字段 ii) 没有条件下,所有记录都会被更新

  • 根据条件删除记录

    • mysql>: delete from [数据库名.]表名 where 条件
    • delete from student where age<20
posted @ 2019-09-20 16:50  fxyadela  阅读(215)  评论(0编辑  收藏  举报