python安装程序和程序数据库_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 |

+------+------+

1397346-20190224153325866-1278992858.png

数据类型:

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值