zoukankan      html  css  js  c++  java
  • Python9-MySQL数据库安装及基本操作-day42

    MySQL
    单机程序(自己DB)
    单机程序(共用DB)
    MySQL:用于管理文件的一个软件
    -服务端软件
    -socket服务端
    -本地文件操作
    -解析指令【SQL语句】
    -客户端软件(各种各样)
    -socket客户端
    -发送指令
    -解析指令【SQL语句】
    -DBMS:数据管理系统
    技能:
    - 安装服务端和客户端
    - 连接
    - 学习SQL语句规则;指示服务端做任意操作
      
    其他类型软件:
    关系型数据库:sqllite,db2,oracle,access,MySQL,sqlserver
    非关系型数据库:MongoDB,redis
        windows:可执行文件
    压缩包
    下载
    http://dev.mysql.com/downloads/mysql/
    进入目录bin
    C:Userszh>cd D:Pythonmysqlmysql-8.0.15-winx64in
    初始化:D:Pythonmysqlmysql-8.0.15-winx64in>mysqld --initialize-insecure
    启动MySQL服务: D:Pythonmysqlmysql-8.0.15-winx64in>mysqld
    启动客户端:D:>D:Pythonmysqlmysql-8.0.15-winx64inmysql -u root -p
    用户名是root 密码空
    添加环境变量
    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
    D:Pythonmysqlmysql-8.0.15-winx64in;
    %SystemRoot%system32;D:Tools map-7.40-win32 map-7.40;%SystemRoot%;%SystemRoot%system32wbem;D:PythonpythonScripts;D:Pythonmysqlmysql-8.0.15-winx64in;
    windows服务
    windows启动mysql自制服务
    C:Userszh>"D:Pythonmysqlmysql-8.0.15-winx64inmysqld" --install
    C:Userszh>"D:Pythonmysqlmysql-8.0.15-winx64inmysqld" --remove
    Service successfully installed.
    D:>net start MySQL
    D:>net stop MySQL
    请求的服务已经启动。


    # 文件夹【数据库】
    # 文件【表】
    # 数据行【行】
    # 数据行
    # 数据行
    默认用户:root

    mysql> use mysql;
    Database changed
    mysql>
    mysql> show tables;
    mysql> select user from user;
    +------------------+
    | user |
    +------------------+
    | mysql.infoschema |
    | mysql.session |
    | mysql.sys |
    | root |
    +------------------+
    创建用户:
    mysql> create user 'tim'@'192.168.1.%' identified by '123123';
    mysql> create user 'tim'@'192.168.%' identified by '123123';
    mysql> create user 'tim'@'%' identified by '123123';
    授权用户:grant 权限
    mysql>grant select,insert,update on db1.t1 to 'tim'@'%';
    mysql>grant all privileges on db1.t1 to 'tim'@'%';
    mysql> grant all privileges on db1.* to 'tim'@'%';
    C:Userszh>mysql -u tim -p
    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | db1 |
    | information_schema |
    +--------------------+
    创建用户
    create user '用户名'@'IP地址' identified by '密码';
    删除用户
    drop user '用户名'@'IP地址';
    修改用户
    rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
    修改密码
    set password for '用户名'@'IP地址' = Password('新密码')
    PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
    5、授权管理
    show grants for '用户'@'IP地址' -- 查看权限
    grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权
    revoke 权限 on 数据库.表 from '用户'@'IP地址' -- 取消权限

    操作文件夹
    create database db2;
    create database db2 default charset utf8; #推荐使用*******
    drop database db2;

    操作文件
    create table t1(id int,name char(10));
    create table t1(id int,name char(10)) default charset=utf8;
    create table t2(id int,name char(10))engine=innodb default charset=utf8; #推荐使用
    innodb 支持事务,原子性操作
    create table t1(
    列名 类型 null,
    列名 类型 not null,
    列名 类型 not null auto_increment primary key, #自增
    auto_increment #表示自增
    primary key #表示约束(不能重复且不能为空),加速查找
    not null 是否为空
    mysql> create table t3(id int auto_increment primary key,name char(10))engine=innodb default charset=utf8;
    mysql> insert into t3(name) values('root');
    mysql> insert into t3(name) values('pipi');
    mysql> insert into t3(name) values('bibi');
    mysql> select * from t3;
    +----+------+
    | id | name |
    +----+------+
    | 1 | root |
    | 2 | pipi |
    | 3 | bibi |
    +----+------+
    id int,
    name char(10)
    )engine=innodb default charset=utf8; #推荐使用*******
    mysql> insert into t2(name) values('tt');
    mysql> select * from t2;
    +------+------+
    | id | name |
    +------+------+
    | 1 | tim |
    | NULL | tt |
    create table t1(
    id int not null auto_increment primary key, #自增
    name char(10)
    )engine=innodb default charset=utf8; #推荐使用*******
    清空表
    mysql> delete from t3; #会在自增
    mysql>truncate table t3; #不会在自增
    删除表
    mysql> drop tables t3;
    操作文件中内容:
    查看数据:
    mysql> select * from t1;
    插入数据:
    mysql> insert into t1(id,name) values(1,'tim');
    Query OK, 1 row affected (0.09 sec)
    mysql> insert into t1(id,name) values(1,'pim');
    Query OK, 1 row affected (0.13 sec)
    mysql> select * from t1;
    +------+------+
    | id | name |
    +------+------+
    | 1 | tim |
    | 1 | pim |
    +------+------+

    数据类型:

    char
    数字:
    tinyint
    int
    bigint
    floot
    0.00000100000123000123001230123
    double
    0.00000000000000000000100000123000123001230123
    0.00000100000123000000000000000
    decimal 精准 0.1 #推荐使用

    字符串:
    char(10) 速度快
    root 占4位没有占满就会填充
    vchar(10) 只占4位 节省空间
    ps:创建数据表定长的列往前放
    text
    上传文件:
    文件存硬盘
    db存路径
    时间类型:
    DATETIME
    enum枚举类型
    set 集合类型
    create table t1(
    id int signed not null auto_increment primary key,
    num decimal(10,5),
    name char(10)
    )engine=innodb default charset=utf8;
    查看数据:
    mysql> select * from t1;
    插入数据:
    mysql> insert into t1(id,name) values(1,'tim');
    删除:
    delete from t1 where id<6;
    修改:
    update t1 set age=18
    update t1 set age=18 where age=17

    #外键:
    create table userinfo(
    uid int auto_increment primary key,
    name varchar(32),
    department_id int
    constraint fk_user_depar foreign key(department_id) references department(id), #外键约束
    constraint fk_xx_depar foreign key(xx_id) references xx(id) #多个外键约束,多个外键最后一个不加逗号
    )engine=innodb default charset=utf8;
    create table department(
    id int auto_increment primary key,
    title char(15)
    )engine=innodb default charset=utf8;



  • 相关阅读:
    2017.2.27学习笔记-----开发板,PC,虚拟机三者ping通
    2017.2.25学习笔记
    vue基础之计算属性和侦听器
    vue基础之组件通信
    vue基础之组件创建
    vue基础之监听器
    vue基础之生命周期
    vue基础之条件渲染
    vue基础之插槽
    vue总结
  • 原文地址:https://www.cnblogs.com/zhangtengccie/p/10426110.html
Copyright © 2011-2022 走看看