zoukankan      html  css  js  c++  java
  • day39 mysql数据库基本操作

    什么是数据库

    用来存储数据的仓库
    数据库可以在硬盘及内存中存储数据
    主要学习硬盘中存储数据,因为内存中的数据总有一天会丢失
    
    数据库与文件存储数据区别
    (公司的开发是综合内容的)
    数据库本质也是通过文件来存储数据,数据库的概念就是系统地管理存储数据的文件
    
    对于表查询 (重中之重)

    数据库的介绍

    数据库服务器端:存放数据库的主机集群
    数据库客户端:可以连接数据库的任意的客户端 (通过TCP协议)
    数据库管理员:DBA
    
    数据库是基于socket套接字的C/S架构

    数据库的基本概念(创建有先后顺序)

    库:多表构建一个数据库,本质就是文件夹
    表:多条数据构建一张表(解耦合的建立表,再给表建立联系),本质就是文件
    记录:存放一条条的数据,本就是文件中的一条条数据记录
    (字段)id age name gender... 一个老师的数据 => 一条数据记录

    数据库分类

    重要性:***
    关系型数据库(大型项目)
        1.有表的概念
        2.以表中一条条记录存储数据
        代表:mysql,oracle(甲骨文),sqlServer,access(微软),db2(IBM的)
    
    非关系型数据库
        1.没有表的概念
        2.通过key-value键值对方式存储数据(对应所有所需的数据)
        代表:mongodb,redis,memcache(速度更快)

    数据库的安装

    如果有安装的其他的mysqld,可以先用mysqld --remove删除之前的mysqld服务器端服务,然后再进行新的mysql安装
    
    下载mysql压缩包,解压缩后,得到一个文件夹
    里面是mysql服务器端和客户端的所有内容
    把内容放在一个文件夹中,然后放在指定的地方
    mysqld --install 安装到windows的services.msc系统服务中
    安装了server端和client端
    如何启动server?如何通过client连接server
    
    bin文件夹下 mysql是客户端,mysqld是服务器端

    数据库启动与连接

    1.前往数据库安装路径,bin文件夹下,cmd执行mysqld启动mysql服务器端
    2.前往数据库安装路径,bin文件夹下,cmd执行mysql,启动mysql客户端连接服务器端

    掌握

    前提:配置环境变量
    
    将mysql服务器添加到系统服务,在系统服务中启动mysql,命令是mysqld --install
    进入系统服务:win+r => services.msc => 找到mysql客户端连接服务器端
    
    分号分隔sql语句
    
    连接数据库
    mysql -hlocalhost(主机,默认本机) -P3306(mysql数据库的默认端口号) -uroot(user用户) -p(使用密码)
    通过最高权限进入数据库,要采用root用户进入,连入本地数据库:mysql -uroot -p
    
    使用到的命令
    查看mysql版本:select version();
    查看当前用户:select user();
    查看mysqld下当前用户可以操作的所有数据库:
    show databases;可以查看当前mysql用户权限能看到的数据库,对应的是mysql文件夹下data文件夹中的文件夹,对于information_schema是登录用户的信息保存在内存中的信息,所有在硬盘中没有对应的文件夹

    密码操作

    知道旧密码:(***)
        修改密码:mysqladmin -uroot -p旧密码 password "新密码"
    
    遗忘旧密码(**)
        1.绕过授权表启动服务(安全认证的服务已经停止):mysqld --skip-grant-tables;
        2.以任意密码登录root用户:mysql -uroot -p任意
        3.更新密码:update mysql.user password=password("新密码") where user=root and host="localhost"
        4.刷新权限:flush.privilegas;

    统一数据编码

    查看数据库配置信息 s => 统一编码 => 防止乱码(读取不方便,数据丢失)
    1.在mysql安装根目录下:创建my.ini(my.cnf)(命令:type nul>文件名.文件后缀)
    2.设置配置信息并保存
    [mysqld]
    [client]  
    character-set-server=utf8
    #port=7777 注释
    [client]
    default-character-set=utf8
    3.重启服务

    库的基本操作

    前提:需要已经连接上了数据库
    
    增,创建数据库
    采用默认编码集:create database db1;
    自定义编码集:create database db1 charset='gbk';
    
    2.查,查看数据库全部信息
    纵观所有数据库:show databases;
    详细信息:show create database db1;
    
    3.改,修改数据库编码集
    alter database db1 charset="utf-8";
    
    4.删,移除数据库
    drop database db1;

    表的基本操作

    前提:在具体的某个库下创建表
    进入某个指定的数据库:use db1;
    确定当前使用的数据库:select database();
    
    1.增,创建表(字段1 类型,...,字段n 类型)
    create table t1(name char,age int);
    
    2.查看表信息
    纵观所有数据库:show tables;
    详细信息:show create table t1;
    表字段结构信息:describe t1;(desc t1;)
    
    3.改
    修改字段属性:alter table t1 modify name char(20); 
    修改字段名(把t1的name改成usr):alter table t1 change name usr char(16); 
    修改表名,把t1名改为t2:alter table t1 rename t2; 
    
    4.删,移除表
    drop table t1;

    字段的基本操作

    前提:知道具体操作的是哪张表
    
    1.增,添加字段
    insert into t1(usr,age) values("aa",18),("bb",8);
    2.查
    select * from t1;
    3.改
    update t1 set age=28 where usr="aa";(where加限制条件)
    4.删
    delete from t1 where age>8;
  • 相关阅读:
    Educational Codeforces Round 51 (Rated for Div. 2)
    Kruskal重构树入门
    编译原理词法分析
    java.lang.String内部结构的变化
    android 世界各国英文简写代码 资源文件
    openCV python 安装
    解读30个提高Web程序执行效率的好经验
    从认知盈余说起,也谈分享精神
    STL set multiset map multimap unordered_set unordered_map example
    [置顶] 【Git入门之一】Git是神马?
  • 原文地址:https://www.cnblogs.com/shanau2/p/10235035.html
Copyright © 2011-2022 走看看