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 ...
随机推荐
- C#常用控件的属性以及方法(转载)
-----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...
- IE浏览器与非IE浏览器JS日期兼容性问题处理
执行语句 console.log(new Date("2017-07-04 18:40").getTime()); 在IE浏览器中打印出:NAN 在非IE浏览器中打印出:14991 ...
- php允许被跨域ajax请求
只要在被请求端,加一句: header('Access-Control-Allow-Origin: *');
- hibernate课程 初探单表映射1-11 通过hibernate API访问编写第一个小例子
hibernate 业务流程 1 创建配置对象 Configuration config = new Configuration().configure(); 2 创建服务注册对象 Service ...
- Java调用webservice接口方法(SOAP message、xfire、axis)
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- vue地址插件多级联动自适应 + github地址
https://github.com/cqzyl/vue-manyAddress
- <转载>为什么VR不可能成功?
这是一个来自Quora的回答,我把要点总结翻译了下,供大家参考批判. How big and issue the nausea problem for Virtual Reality products ...
- HDU1664 BFS + 数论 + 剪枝
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1664 , 一道比较蛋疼的搜索题. 这道题有很多坑点,一点处理不好就要TLE. 题意很简单,就是找到一个 ...
- Windows 服务快捷启动命令,可以直接在运行处运行电脑的功能。
gpedit.msc-----组策略 sndrec32-----录音机 nslookup----- ip地址侦测器 explorer------ 打开资源管理器 logoff-------注销命令 t ...
- UVA 11040 Add bricks in the wall(线性组合)
砖块上的数字最终都可以看作是最后一行的线性组合,独立变元最多9个. 这类题的一般做法,线性组合都可以列出方程然后高斯消元. 对于这道题,只要确定最后一行剩下的4个变量就好了,对于最后一行的j位置,它对 ...