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:\Users\zh>cd D:\Python\mysql\mysql-8.0.15-winx64\bin
初始化:D:\Python\mysql\mysql-8.0.15-winx64\bin>mysqld --initialize-insecure
启动MySQL服务: D:\Python\mysql\mysql-8.0.15-winx64\bin>mysqld
启动客户端:D:\>D:\Python\mysql\mysql-8.0.15-winx64\bin\mysql -u root -p
用户名是root 密码空
添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
D:\Python\mysql\mysql-8.0.15-winx64\bin;
%SystemRoot%\system32;D:\Tools\nmap-7.40-win32\nmap-7.40\;%SystemRoot%;%SystemRoot%\system32\wbem;D:\Python\python\Scripts;D:\Python\mysql\mysql-8.0.15-winx64\bin;
windows服务
windows启动mysql自制服务
C:\Users\zh>"D:\Python\mysql\mysql-8.0.15-winx64\bin\mysqld" --install
C:\Users\zh>"D:\Python\mysql\mysql-8.0.15-winx64\bin\mysqld" --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:\Users\zh>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;

Python9-MySQL数据库安装及基本操作-day42的更多相关文章

  1. (三)—Linux文件传输与mysql数据库安装

    文件传输工具使用    为了速成,关于linux系统的学习都先放一放,用到哪个知识点就查哪个,这里想在linux下装一些服务练练手,最先想到的就是装个mysql数据库试试. 因为我用的是虚拟机下的li ...

  2. mysql数据库安装注意事项:

    mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...

  3. Mysql数据库安装和配置

    http://blog.csdn.net/pipisorry/article/details/46773507 Mysql数据库安装和配置.mysql语法.特殊符号及正则表达式的使用.MySQL备份与 ...

  4. MySql数据库安装

    MySql数据库安装 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  5. MySql 数据库安装、环境变量配置 以及 本地连接

    一.准备 MySql 的安装包,这里我从网上下载的是 mysql-installer-community-5.6.21.1.msi,如下图:     二.,双击 mysql-installer-com ...

  6. MySql C++调用库Connector/c++编译 和 接口封装【一】mysql数据库安装

    Connector/c++库的源文件编译,你需要先准备好以下工具:     mysql数据库(编译时要依赖),boost库,cmake(生成sln工程文件),connector/c++的源文件,vis ...

  7. 第二百七十五节,MySQL数据库安装和介绍

    MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...

  8. mysql数据库表的基本操作sql语句总结

    1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql -u root -p Enter password: ***** We ...

  9. mysql数据库安装与卸载以及Navicat安装

    关系型数据库Mysql 1.mysql官网网址:www.mysql.org 2.mysql数据库安装 傻瓜式安装下载地址 https://dev.mysql.com/downloads/install ...

随机推荐

  1. .net 向新页面跳转的语句

    1. href='##' onclick=\"window.open('../DataSplit/DrugInfo_ManualVersionViewNew.aspx?id=" + ...

  2. MySQL JOIN | 联结

    联结是利用SQL的SELECT能执行的最重要的操作.为了提高存储的有效性和避免数据冗余,往往会将有关联的数据存储在好几张表中,那么怎样用一条SELECT语句就能检索出这些数据呢? 答案是JOIN(联结 ...

  3. UINavigationControlle 之 UINavigationBar及navigationItem关系探讨

    在设置标题栏时常常遇到修改标题.修改返回按钮标题.增加一些按钮等需求,实现过程中一般会把UINavigationController.UINavigationBar.navigationItem及se ...

  4. 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:9.观察者模式

    欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 前言 在一个程序的迭代过程中,复杂度渐渐上升,可能会出现一些跨模块的调用的需求,若是直接得到引用来进行使用,会导致模 ...

  5. 安装windows phone 7

    本机环境win7 32位旗舰版,本来是4G内存的  系统只能读出2.9G,vs2010中文旗舰版,想搭建windows phone环境学习wp手机开发.安装完了之后明显感觉机器慢了些. ①:安装Mic ...

  6. javascript的Array.prototype.map()和jQuery的jQuery.map()

    两个方法都可以根据现有数组创建新数组,但在使用过程中发现有些不同之处 以下面这个数据为例: var numbers = [1, 3, 4, 6, 9]; 1. 对undefined和null的处理 a ...

  7. SQL优化 · 经典案例 · 索引篇

    Introduction 在这些年的工作之中,由于SQL问题导致的数据库故障层出不穷,下面将过去六年工作中遇到的SQL问题总结归类,还原问题原貌,给出分析问题思路和解决问题的方法,帮助用户在使用数据库 ...

  8. 使用adbWireless无线调试Android真机设备[转]

    开发Android的朋友都知道,真机调试需要把手机与PC相连,然后把应用部署到真机上进行安装和调试.长长的USB线显得很麻烦,而且如果需要USB接口与其他设备连接的话显得很不方便.今天介绍一种不通过U ...

  9. [Asp.Net] MVC 和Web API Action 获取参数的区别

    Asp.net MVC 和web api 的action 在获取从前台传入的数据是有很大不同 前台使用ajax的方式向后台发起post的请求 Content-Type:application/json ...

  10. JSP开发过程遇到的中文乱码问题及解决方案

    对于程序猿来说,乱码问题真的很头疼,下面列举几种常见的乱码. 1.数据库编码不一致导致乱码 解决方法: 首先查看数据库编码,输入: show variables like "%char%&q ...