• python之路_初始mysql数据库


    一、基本概念

      通常我们说的数据库是指数据库管理系统,通过数据库管理系统实现对数据的增、删、改、查等系列管理,常见的数据库管理系统有:mysql,orcale,db2,mariadb,sql server等,这些为关系型数据库,数据存在磁盘中;而非关系型数据库中数据是以key=value的形式存放,存放在内存之中。

    1、记录

      多个字段组成的一条信息,相当于文件中的一行信息。

    2、表

      包含多条记录,相当于一个文件。

    3、数据库

      包含多个表,相当于一个文件夹。

    4、数据库管理系统

      如mysql,用于数据库管理,是一个软件。

    5、数据库服务器

      一台计算器(对内存要求很高)。

    关系:

      数据库服务器运行数据库管理系统;数据库管理系统管理数据库;数据库组织表;表存放多条记录。

    二、mysql的基本使用

    1、mysql的安装

    2、登录mysql

      'mysql -uroot -p'命令进行管理员身份登录,因为起始未设置密码,故不需要输出密码,直接回车即可登录成功。

    3、添加密码

      无密码不安全,通过’mysqladmin -uroot password xxx‘命令进行添加密码操作,其中xxx为添加的密码,添加成功后就可以用'mysql -uroot -pxxx'命令登录。

    4、修改密码

      通过'mysqladmin -uroot -pxxx password yyy'命令进行密码修改,其中xxx为原密码,yyy为新密码。

    5、查看账户

      在登录状态,通过‘select user();’命令查看登录账户,命令必须以英文分号结束。

    6、创建账户

      在登录状态输入如下命令“create user 'xxx'@'可连接限制‘  identified by 'yyy';",可以实现创建账户,其中xxx是用户名,yyy表示密码,具体详解如下:

    create user 'egon'@'192.168.32.*' identified by '123';  #表示32网段的都可以连接
      
    create user 'egon'@'192.168.32.3' identified by '123';  #表示只有这个ip可以连接
    
    create user 'egon'@'%' identified by '123';             #表示任意用户都可以连接

      ps:创建的用户存放在数据库服务端,供客户端登录连接。

    7、远程连接

      在命令行输入指令‘mysql -uxxx -pyyy -h zzz,xxx为用户名,yyy为密码,zzz为被连接主机ip,例如:

    mysql -uegon -p123 -h 192.168.11.55

    8、为账户授权

      创建出账号以后,对数据库的一些操作权限新账号是没有的,需要在管理员的登录状态下进行账户授权。

    (1)对已有账号进行授权

      在管理员登录状态,执行如下命令:“grant all on db1.t1 to 'egon'@'%';”,翻译为:授予 egon@%用户数据库db1中的表t1的相关操作权限;或者输入命令:“grant all on *.* to 'egon'@'%';”,翻译为:授予egon@%用户所有数据库中所有表的相关操作权限。授权完成后须执行命令:“flush privileges;”,来刷新授权,授权生效。

    (2)创建账号同时授权

      在管理员登录状态,执行如下命令即可完成创建账号和授权的功能,如命令:grant all on *.* to 'alex'@'%' identified by '123';,完成后同样需要执行命令:flush privileges;

    9、查看所有数据库

      在登录状态输入命令:show databases;,查看所有数据库

    10、破解密码

    (1)杀死mysqld

      以管理员身份运行cmd,执行如下两个命令,以进程的PID方式杀死mysqld服务端,或者以net stop mysql命令结束此进程。

    (2)跳过授权表的方式启动mysqld

      继续在命令行中输入如下命令,以跳过授权表的方式启动mysqld服务端

    (3)更改密码

      开启一个cmd命令框,启动mysql客户端,执行如下命令,将管理员密码设置成为空,设置后记得刷新授权。

    (3)再次杀死mysqld

      按照步骤(1)方式再次杀死mysqld

    (4)启动mysqld,并按新密码登录

    三、数据库增删改查

      提示:在具有权限的用户的登录状态进行命令操作,所有命令结尾都需有英文的分号。

    1、操作库

      ---增

      执行命令:create database xxx charset utf8;,其中xxx为数据库的名字

      --查

      执行命令show databases;查看数据库文件夹,执行命令show create database db1;创建的数据库db1的信息。

      ---改

      执行如下命令alter database db1 charset gbk;执行将数据库db1进行更改的操作,将字符编码更改为gbk的模式。

      ---删

      执行命令drop database db1;执行将数据库db1删除的操作。

     

    2、操作表

      在进行表的操作之前,必须切换到一个具体的数据库下,切换数据的命令为:use xxx;,xxx为数据库的名字,用命令select database();命令可以查看当前所在的数据库。

      ---增

      如命令:create table t1(id int,name char(10),age int)engine=innodb default charset utf8; 其中id、name、age为表中数据项目,并且int、char为说明数据的类型,char型需要指明长度,注意括号中的最后一个字段一定不要加逗号。

      ---查

      命令show tables;查看数据库下表的情况,命令show create table t1;查看创建表t1情况,命令desc t1;查看表t1的结构。

      ---改

    alter table t1 charset gbk;                     #更改编码格式
    alter table t1 add sex char;                    #增加sex数据项目
    alter table t1 drop sex;                        #删除sex数据项目
    alter table t1 modify sex char(6);              #修改sex的字符长度,但是不能修改sex
    alter table t1 change sex Sex char(6);          #将sex修改成Sex,同时修改字符长度

      ---删

      执行命令drop table t1;将删除t1表。

    3、操作记录

      ---增

     insert into db1.t1(id,name,age,Sex) values
            (1,'egon1',18,'male'),
            (2,'egon2',28,'male'),
            (3,'egon3',38,'male'),
            (4,'egon4',48,'male');

      执行如上命令,将在db1数据库的t1表格中添加values值,数据的顺序需要和规定顺序一致。

      ---查

      执行命令select name,id from db1.t1;是查看数据库db1下表t1中name和id项目的数据;执行命令select * from db1.t1是查看数据库db1下表t1中的所有项目的数据。

      ---改

      执行命令update db1.t1 set name='alexsb' where id=5;将会符合where条件的name更改为alexsb,条件可以自行选择,若不加where则会将所有的name都会更改。

      ---删

      执行命令delete from db1.t1 where id=3;删除符合条件的整条信息,条件可以自行选择。命令delete from db1.t1; 仅仅只有删除记录的效果,没有把表重置到初始状态的功能;

    truncate db1.t1; 命令则是清空+重置

    ps;自增

    create table t1(id int not null unique auto_increment,name char(4));
    
    insert into db1.t1(name) values
    ('egon1'),
    ('egon2'),
    ('egon3'),
    ('egon4');

  • 相关阅读:
    C#正则表达式(2):常用的特殊字符(元字符,限定字符)
    asp.net中路径
    C#正则表达式常用元字符
    iTextSharp插入图像
    iTextSharp中中文显示实例
    asp.net中MD5
    sql语句操作数据库之新增
    asp.net使用uploadify上传文件不能超过4mb的解决方案
    在浏览器地址栏中执行js代码
    MSSQL系统常用全局变量
  • 原文地址:https://www.cnblogs.com/seven-007/p/7694034.html
Copyright © 2020-2023  润新知