• python day37 数据库——数据库安装及sql相关语句


    一、内容回顾

    1、池 concurrent.futures

    • 进程池 p = ProcessPoolExecutor(n)

    • 线程池 t = ThreadPoolExecutor(n)

      • 实例化一个池的对象

    • 提交任务:submit

    • 获取池内进程或者线程的执行结果 result()

    • map 循环提交任务

    • add_done_callback 回调函数

    2、协程的概念

    • 概念:

      • 本质是一个线程

      • 多个任务在一个线程上切换

      • 特点:数据安全,用户界别,开销小,不能利用多核,能够识别的io操作也少

    • gevent 第三方模块 完成一个并发的socketserver端

      • 协程对象:spawn(func,参数)

      • from gevent import monkey,monkey.patch_al()

      •  

      • 能识别的io操作也是有限的

    • asyncio 内置模块

      • await 写好的 asyncio中的阻塞方法

      • async 表示一个函数是一个协程函数,await语法必须用在async函数中

      • import asyncioa
        sync def func():    
           print('await:')    
           await asyncio.sleep(1)
        loop = asyncio.get_event_loop()
        loop.run_until_complete(func())

    二、今日内容

    1、初识数据库

    • 数据库在程序中的作用

    2、什么是mysql

     

    3、安装数据库

    解压

    下载的zip文件解压,将解压之后的文件夹放到任意目录下,这个目录就是mysql的安装目录。

    配置

    打开目录,会看到my-default.ini配置文件,复制这个配置文件可以重命名为my.ini或者my.cnf

    img

    img

    复制代码

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [mysqld]
    #设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=C:Program Filesmysql-5.6.39-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=C:Program Filesmysql-5.6.39-winx64data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB

    复制代码

    环境变量

    在系统变量PATH后面添加: 你的mysql bin文件夹的路径(如C:Program Filesmysql-5.6.41-winx64in)

    安装MySQL服务

    以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录,输入mysqld install回车运行

    启动mysql服务

    以管理员身份在cmd中输入:net start mysql

    服务启动成功之后,就可以登录了,输入mysql -u root -p(第一次登录没有密码,直接按回车过)

    img

    net stop mysql # 停止mysql

    #在windows操作系统上没有重启mysql服务的命令
    #如果要重启服务,只能先stop再start

    4、操作数据库

    通过cmd连接server端

    mysql -uroot -p123 -h192.168.1.12

    查询当前用户:

    select user();

    # mysql>select user();   查看当前登录的用户
    # mysql>set password = password('123'); 给当前用户设置密码
    #
    # 创建一个其他用户
    # create user 'guest'@'192.168.14.%' identified by '123';
    # 给一个用户授权
    grant 权限类型 or 数据库.* for 'guest'@'192.168.14.%';
    权限类型:  all 所有  select 查找  insert 写入
    数据库.* 代表数据库所有表 可以单独指定表

    #进入mysql客户端 $mysql mysql> select user(); #查看当前用户 mysql> exit # 也可以用q quit退出

    默认用户登陆之后并没有实际操作的权限

    需要使用管理员root用户登陆

    $ mysql -uroot -p # mysql5.6默认是没有密码的 #遇到password直接按回车键 mysql> set password = password('root'); # 给当前数据库设置密码

    创建账号

    mysql> create user 'eva'@'192.168.10.%' IDENTIFIED BY '123';# 指示网段 mysql> create user 'eva'@'192.168.10.5' # 指示某机器可以连接 mysql> create user 'eva'@'%' #指示所有机器都可以连接 mysql> show grants for 'eva'@'192.168.10.5';查看某个用户的权限

    远程登陆

    $ mysql -uroot -p123 -h 192.168.10.3

    给账号授权

    mysql> grant all on . to 'eva'@'%'; mysql> flush privileges; # 刷新使授权立即生效

    创建账号并授权

    mysql> grant all on . to 'eva'@'%' identified by '123' mysql的账号操作

    • 和用户权限相关的

    • 基本操作

     

    desc userinfo; 查看表内字段

    1. 操作文件夹(库) 增:create database db1 charset utf8; 查:show databases; 改:alter database db1 charset latin1; 删除: drop database db1;

    1. 操作文件(表) 先切换到文件夹下:use db1 增:create table t1(id int,name char); create table userinfo(id int,name char(20)); 查:show tables; 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 删:drop table t1;

    2. 操作文件中的内容(记录) 增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3'); 查:select * from t1; 改:update t1 set name='sb' where id=2; 删:delete from t1 where id=1;

      清空表: delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。 truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,

    *auto_increment 表示:自增 *primary key 表示:约束(不能重复且不能为空);加速查找

  • 相关阅读:
    linux 安装 svn
    人群计数:Single-Image Crowd Counting via Multi-Column Convolutional Neural Network
    Ubuntu查看CPU占用和使用情况
    看完这篇文章,我奶奶都懂了HTTPS原理
    EfficientNet算法笔记
    Soft NMS算法笔记
    DenseNet算法详解
    AI竞赛服务平台—— FlyAI
    Cornernet训练自己的数据
    深度学习物体检测:CornerNet
  • 原文地址:https://www.cnblogs.com/iaoyuyuyuhuanghuang/p/14436493.html
Copyright © 2020-2023  润新知