zoukankan      html  css  js  c++  java
  • 初识数据库

    数据库概念

    那Mysql能干嘛呢?它就是一款软件,安装在任何一台计算机或者服务器上的时候,只要我告诉它创建一个文件,新增一个数据,删除一个数据它就能帮我去做想要的操作

    那我们暂且能不能理解为mysql就是用来帮我们操作文件的!

    我们也可以再把数据可理解为就是帮我们增删改查数据

    MySQL:用于管理文件的一个软件(两个程序)

    -服务端软件

    -socket服务端

    -本地文件操作

    -解析指令

    -客户端软件

    -socket客户端

    -发送指令

    -解析指令

    客户端可以有很多个,python,java,php,c++都可以编程一个客户端,用代码指定ip port链接上服务端即可操作

    那么问题来了,不同的客户端练我一个服务端,语言不相同无法实现交流。所以应该有共同的语言才行>>>解析指令(sql语句)

     

    技能:

    -安装 服务端和客户端

    -链接

    -学习sql语句规则,指定服务端做任何操作

     

    mysql只是一种能够帮助我们管理数据的软件,还有其他类似的软件也是通过发送指令来帮你管理数据库

    其他类似软件:

    关系型数据库:sqlite,db2,oracle,access,sql server,MySQl

    非关系型数据库:mongodb,redis

    关系型:彼此之间有约束或者有联系

     

    总结:mysql就是帮助我们远程在文件上做相应操作的

    MySQL固定端口号3306

    修改密码与破解管理员密码

    mysqladmin -uroot -p password "123"
    
    # 第一次修改完密码以后,之后还修改密码需要
    mysqladmin -uroot -p123 password "123456"
    # 为了后续调试方便,这里把密码设为空值
    mysqladmin -uroot -p123 password "新密码"

    破解密码

    首先将运行的服务器停掉

    1.跳过用户名和密码的验证功能 启动服务端
        mysqld --skip-grant-tables  启动服务端 跳过授权表
    2.修改管理员用户对应的密码
        update mysql.user set password=password(123) where user='root' and host='localhost';
    3.关闭当前服务端  重新以校验用户名密码的方式启动
    4.正常以用户名密码的方式 连接mysql服务端

    统一字符编码

    mysql命令:"s" 查看编码

    修改配置文件,执行时会自动查找my.ini文件

    mysql不输用户名和密码,会默认以游客模式登陆,不好!

    # my.ini配置文件特点
    [mysql]
    #终端输入mysql打头的命令就会加载下面的配置
    username='root'  # 演示确实加载改文件,但是username叫user才正确
    password = '123'
    [mysqld]

    通用配置

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8

    基本sql语句

    对数据的增删改查

    sql书写错误,只要没加分号,可以加c使前面的sql语句失效

    针对文件夹的(库)

    #
    create database db1 charset utf8;
    #
    alter database db1 charset gbk;
    #
    show databases;
    show create database db1;
    #
    drop database db1;

    针对文件的(表)

    文件首先需要在文件夹下面,所以在操作文件之前,应该先确定操作的是哪个文件夹下面的文件

    # 切换文件夹
    user db1;
    select database();  # 查看当前所在的库
    #
    create table t1(id int,name char);  # 创建出来的可能是多个文件,解耦管理
    #
    alter table t1 modify name char(16);
    #
    show tables;
    show create table t1;        # 查看表的详细信息
    describe t1; == desc t1;  # 查看表结构
    #
    drop table t1;

    针对记录的

    记录
    先创建一个库或者指定一个已经存在的库
    切换到该库下 创建表
    然后再操作记录
    create database db1;
    create table userinfo(id int,name char(32),password int);


    insert into userinfo values(1,'jason',123); 插入单条数据
    insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123); 插入多条数据

    select * from userinfo; 查询所有的字段信息
    select name from userinfo; 查询指定字段信息
    select id,name from userinfo where id=1 or name=tank; 带有筛选条件的字段信息

    update userinfo set name='kevin' where id=1; 修改数据的一个字段信息
    update userinfo set name='jason',password=666 where id=1; 修改数据的多个字段

    delete from userinfo where id =1; 指定删符合条件的数据
    delete from userinfo; 将表中的数据全部删除

  • 相关阅读:
    计算机网络 3.* 数据通信技术基础 .1
    计算机网络3.2&3.3(第二节介质&第三节多路复用)
    python mooc 3维可视化<第一周第二&三单元>
    python mooc 3维可视化<第一周第一单元>
    conda 下配置环境
    第二周<岭回归>
    第二周<线性回归>
    第二周<导学/分类>
    iOS UILabel详解
    开始iOS 7中自动布局教程(一)
  • 原文地址:https://www.cnblogs.com/asdaa/p/11368305.html
Copyright © 2011-2022 走看看