疯狂飞艇

当前位置:疯狂飞艇 > IT教程

Python学习之数据库编程

时间:2020-09-17 08:35:16来源:金橙教程网 作者:admin8 阅读:72次
 

数据库编程入门

一、mariadb安装与使用

    [root@Server0 ~]# yum install mariadb-server -y   #安装数据库的服务端
    [root@server0 ~]# Systemctl start mariadb         #启动数据库服务
    [root@server0 ~]# MySQL_secure_installation       #设置我们数据库的安全属性,简单来讲就是密码权限等等
    [root@server0 ~]# mysql -uroot -p123456           #以root身份密码是123456登录数据库

二、数据库的基本操作

    show DATabases;

   该命令用于显示有哪些数据库

    create database mariadb_learn    #创建一个名为maridb_learn的数据库

    use mariadb_learn      #使用数据库mariadb_learn

    show tables;  #显示当前数据库中的表
        

    create table usrinfor(username varchar(10),passwd varchar(10))

在当前数据库中新建一个表名为userinfor的表格,表格有两列信息username和

password,可变字节长度,10个字符宽度。

     

    
    desc userinfor;     #描述userinfor的具体信息
         
    insert into userinfor values('user1','123456');  #向userinfor表中添加一行信息   
    SELECT * fROM userinfor;                #选择所有信息从userinfor表中导出
        

update userinfor set password='654321' where usrname = 'user1';  #将表中usrname的信息为‘user1’的password改为‘654321’

    delete from userinfor where usrname = 'user1';   #从userinfor的表中删除usrname信息为‘user1’的所有信息
        

        drop table userinfor;   #删除一个userinfor的表
          
        drop database mariadb_learn;   #删除名为mariadb_learn的数据库
        

三、数据库中文编码问题

 在上面我们对userinfor表添加信息时,因为信息中有中文因此出现乱码,如下:

我们先查看mysql的编码格式:

    show variables like 'character_set_%';  

    (一)临时修改数据库的编码格式
        修改除了character_set_filesystem之外的其他变量的编码格式为utf8;

     MariaDB [(none)]> set character_set_server='utf8';        
     MariaDB [(none)]> set character_set_database = 'utf8';
    但是,很坑的是,当重启服务后,刚才的设置就直接失效,也是挺崩溃的;大招在下面 。

    (二)永久修改数据库编码格式
             配置mysql的配置文件,配置文件在/etc/my.cnf.d/目录,设置编码格式:

   第一个文件修改: /etc/my.cnf.d/client.cnf

                               7 [client]

                               8  default-character-set=utf8

第二个文件修改: /etc/my.cnf.d/server.cnf

                               11 # this is only for the mysqld standalone daemon

                               12 [mysqld]

                               13 character-set-server=utf8

重启mariadb服务后,character_set_database并没有进行修改,因此,为了一步到位,直接设置character_set_database编码格式为utf8,如下:

MariaDB [(none)]> set character_set_database = 'utf8';

由于编码格式是在表创建的时候被使用的,因此一个表的编格式一旦确定就不会被更改,所以我们的userinfor表所用的编码格式依旧是未更改之前的,添加中文信息依旧会是乱码。

          

四、数据库密码忘记

 我们为了安全需要给数据库加上密码,但是有时候忘记密码怎办呢?我们可以使用下面这种方式来暴力修改密码。

  1. 关闭mariadb服务

systemctl stop mariadb

2. 跳过授权表

mysqld_safe --skip-grant-table &

3. 修改root密码

mysql

> update mysql.user set Password=password('123456') where

User='root';

4. 关闭跳过授权表的进程,启动mariadb服务,使用新密码即可

ps aux | grep mysql

kill -9 pid

mysql -uroot -p

 通过上面几个步骤我们就可以在不知道密码的情况下,对密码进行修改,修改密码时一定要注意第四步,进程一定要被结束,不然我们登录一直会跳过授权表。

  

相关阅读

好用的数据库设计工具

好用的数据库设计工具 windows平台 erwin 很强大,但是仅支持windows,没有mac版本Mac平台 Dbschema 目前我觉得比较好的Dbschema的优

C++ 编程之QueryInterface函数(一)

前言组件对外公布的是接口;一个组件可以实现多个接口,也就是说可以对外公布多个接口,之前也总结过了,你很少会100%的去完全了解一个组

数据库之SQL(INSERT,INSERT SELECT,INSERT INTO语句)

一、SQL SERVER 中如何在数据表里插入数据?INSERT语句,代码及效果如下:但INSERT语句容易出现错误,什么错误呢?不能将值NULL插入列,即不

基于python的种子搜索网站,你懂得!

该项目是基于python的web类库django开发的一套web网站,给师弟做的毕业设计。本人的研究方向是一项关于搜索的研究项目。在该项目中

BP神经网络分类实例(神经网络编程入门 )

文章来自:http://www.cnblogs.com/heaad/   本文主要内容包括: (1) 介绍神经网络基本原理,(2) AForge.NET实现前向神经网

分享到:

IT相关

程序相关

推荐文章

热门文章

疯狂飞艇官网疯狂飞艇网址疯狂飞艇平台疯狂飞艇app疯狂飞艇下载