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 ...
随机推荐
- TemplateBinding与Binding区别,以及WPF自定义控件开发的遭遇
在上一次的文章WPF OnApplyTemplate 不执行 或者执行滞后的疑惑谈到怎么正确的开发自定义控件,我们控件的样式中,属性的绑定一般都是用TemplateBinding来完成,如下一个基本的 ...
- ${fn:} 函数
调用这样一个头文件<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions " ...
- C# 发Domino邮件 报错误 Password or other security violation for database 的解决方案
错误提示: Password or other security violation for database ******* 问题产生的描述: 之前C#发邮件是好的 加上了附件部分代码之后,出现了这 ...
- android获取https证书
最近碰到一个问题, 有朋友问android这边能不能拿到服务器下发的证书,意思就是 自签名证书的https接口,在请求的时候,也没有添加自签名证书进信任列表,直接去发https请求,按照正常htt ...
- dsniff
/usr/local/sbin/dsniff 这个东西好强大,获取到用户名和密码 bt服务区器上:dsniff -i eth0 -m(自动协议检测) 在另外一个电脑上打开网页,登陆ftp服务器,回头看 ...
- Log4j知识汇总
Log4j在java开发中还是很常见的,而在日志系统里面也占有举足轻重的地位,想要做好日志相关的工作,了解log4j还是很必要的. 下面就针对 log4j的官方文档user-guide 进行翻译与整理 ...
- MVC下c#对接微信公众平台开发者模式
在ashx文件中进行HttpContext的处理: using System; using System.Collections.Generic; using System.Linq; using S ...
- ASP.net Session阻塞、Session锁、MVC Action请求阻塞问题
会话Session Session用于服务器端状态管理,使用Session之后,每个客户端都可以将实际的数据保存在服务器上,对于每个客户端的数据,将会生成一个对应的唯一的key(保存在客户端).客户端 ...
- linux 命令——21 find(转)
在 使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命 令长度有限制,这样在find命令运行几分钟之后,就 ...
- 从.net到java,从基础架构到解决方案。
这一年,职业生涯中的最大变化,是从.net到java的直接跨越,是从平台架构到解决方案的不断完善. 砥砺前行 初出茅庐,天下无敌.再学三年,寸步难行.很多时候不是别人太强,真的是自己太弱,却不自知. ...