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:\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的更多相关文章
- (三)—Linux文件传输与mysql数据库安装
文件传输工具使用 为了速成,关于linux系统的学习都先放一放,用到哪个知识点就查哪个,这里想在linux下装一些服务练练手,最先想到的就是装个mysql数据库试试. 因为我用的是虚拟机下的li ...
- mysql数据库安装注意事项:
mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...
- Mysql数据库安装和配置
http://blog.csdn.net/pipisorry/article/details/46773507 Mysql数据库安装和配置.mysql语法.特殊符号及正则表达式的使用.MySQL备份与 ...
- MySql数据库安装
MySql数据库安装 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...
- MySql 数据库安装、环境变量配置 以及 本地连接
一.准备 MySql 的安装包,这里我从网上下载的是 mysql-installer-community-5.6.21.1.msi,如下图: 二.,双击 mysql-installer-com ...
- MySql C++调用库Connector/c++编译 和 接口封装【一】mysql数据库安装
Connector/c++库的源文件编译,你需要先准备好以下工具: mysql数据库(编译时要依赖),boost库,cmake(生成sln工程文件),connector/c++的源文件,vis ...
- 第二百七十五节,MySQL数据库安装和介绍
MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...
- mysql数据库表的基本操作sql语句总结
1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql -u root -p Enter password: ***** We ...
- mysql数据库安装与卸载以及Navicat安装
关系型数据库Mysql 1.mysql官网网址:www.mysql.org 2.mysql数据库安装 傻瓜式安装下载地址 https://dev.mysql.com/downloads/install ...
随机推荐
- 让最新的 Android Q Beta 3 强制重启的 Project Mainline,到底是什么?
一. 序 最新的 Android 版本 Q,已经发布了 Android Q Beta 3,虽然没有正式发布,但是不少用户已经加入了测试计划,抢先体验 Android Q 的新功能. 近期不少体验用户反 ...
- Docker最全教程之使用PHP搭建个人博客站点(二十二)
目录 官方镜像 编写简单的Hello world! 1. 编写Hello world! 2. 编写Dockerfile 3. 构建并运行 4. 直接使用PHP Docker镜像运行PHP脚本 构建自 ...
- java中key值可以重复的map:IdentityHashMap
在Java中,有一种key值可以重复的map,就是IdentityHashMap.在IdentityHashMap中,判断两个键值k1和 k2相等的条件是 k1 == k2 .在正常的Map 实现(如 ...
- SpringBoot | 第一章:第一个SpringBoot应用
springboot简单介绍 概述 SpringBoot的核心功能 优缺点 优点 缺点 工程搭建 创建项目 项目结构 pom依赖 主入口 编写controller 启动应用 总结 老生常谈 sprin ...
- jQuery读取和设定KindEditor值的方法
转载自:https://www.jb51.net/article/43595.htm 侵删 jQuery读取和设定KindEditor值的方法 更新时间:2013年11月22日 09:03:56 ...
- 一、 Spring Cloud Eureka ,咱们先跑起来
一.Spring Cloud 简介 Spring Cloud 是一个基于Spring Boot 实现的微服务架构开发工具.是一个涉及到服务治理.分布式配置管理.负载均衡.服务容错.API网关.消息总线 ...
- BZOJ3624: [Apio2008]免费道路(最小生成树)
题意 题目链接 Sol 首先答案一定是一棵树 这棵树上有一些0边是必须要选的,我们先把他们找出来,如果数量$\geqslant k$显然无解 再考虑继续往里面加0的边,判断能否加到k条即可 具体做法是 ...
- Struts2笔记2
一.请求参数封装 1.属性驱动: (1).无实体类情况:属性和动作类在一起 a.编写jsp页面,提交数据,例如name和age <form acti ...
- 构建第一个Spring Boot2.0应用之集成mybatis(六)
一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.步骤 方式一:利用配置文件配 ...
- WPF学习一:XAML的资源(Resources)结构
一个初学者,把知识做个积累,如果有不对的地方,还请高手指出,谢谢! 先看一段代码:(下面是以Window WPF进行讲解,如果是Web 的话就把<Window改为<Page 而如果是 Us ...