zoukankan      html  css  js  c++  java
  • 【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
  • 相关阅读:
    Linux驱动学习时间、延迟及延缓操作3
    Windows 系统下Git安装图解
    [整理]Android Intent和PendingIntent的区别
    C++篇实现MD5算法
    重温数据结构——(2)
    重温数据结构——(1)
    红黑树——1.介绍与查找
    Ubuntu Telnet 服务
    文本框垂直居中
    文本框透明无边框
  • 原文地址:https://www.cnblogs.com/fxyadela/p/11558178.html
Copyright © 2011-2022 走看看