1.修改密码:

  mysqladmin -uroot password 123

2.忘记密码如何修改密码:

  1.干掉data目录---> 重新初始化   (不推荐,所有授权信息全部丢失!!!)

  2.跳过授权表 (skip-grant-tables) --->修改密码操作 

 #1 关闭mysql
#2 在cmd中执行:mysqld --skip-grant-tables
#3 在cmd中执行:mysql
#4 执行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges; #5 tskill mysqld
#6 重新启动mysql

方式一

#1. 关闭mysql,可以用tskill mysqld将其杀死
#2. 在解压目录下,新建mysql配置文件my.ini
#3. my.ini内容,指定
[mysqld]
skip-grant-tables #4.启动mysqld
#5.在cmd里直接输入mysql登录,然后操作
update mysql.user set authentication_string=password('') where user='root and host='localhost'; flush privileges; #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

方式二

3.配置文件

 [mysqld]                #mysqld执行的时候会执行下方配置
#skip-grant-tables #跳过授权表
#basedir=D:\mysql-5.7.19-winx64 #mysql的安装目录
#data=可以指定data目录
port=3306
default-storage-engine=INNODB #默认存储引擎
innodb_file_per_table=1 #每一个表都有一个自己的数据文件
character_set_server=utf8 #默认字符编码 [client] # 客户端的配置
port=3306
user=root
password=963.
default-character-set=utf8 [mysql] #单独客户端的配置
port=3306
user=root
password=963.
default-character-set=utf8

在修改mysqld 中的配置时,要重启mysql服务

4.sql语句汇总

 #1 操作文件夹(库)

create database db1 charset utf8; 查
show databases;
show create database db1;

alter database db1 charset gbk;

drop database db1; #2 操作文件(表)
切换到文件夹下:use db1 增
create table t1(id int,name char(10))engine=innodb;
create table t2(id int,name char(10))engine=innodb default charset utf8;

show tables;
show create table t1; desc t1;#查看表结构

alter table t1 add age int;
alter table t1 modify name char(12);
alter table t1 modify id int primary key auto_increment; 删
drop table t1; #3 操作文件的一行行内容(记录)

insert into db1.t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
insert into db1.t1(name) values('egon1'),('egon2'),('egon3');

select * from t1;
select name from t1;
select name,id from t1;
select * from t1 where id >5 and id <9;

update t1 set name='SB' where id=4;
update t1 set name='SB' where name='alex';

delete from t1 where id=4; #删除这一行的记录 #对于清空表记录有两种方式,但是推荐后者
delete from t1;
truncate t1; #当数据量比较大的情况下,使用这种方式,删除速度快 #自增id
create table t5(id int primary key auto_increment,name char(10));
create table t4(id int not null unique,name char(10)); #拷贝表结构
create table t7 select * from t5 where 1=2;
#拷贝表
create table t6 select * from t5 ; delete from t7 where id=1; #删记录
update t7 set name=''; #修改字段对应的值

注意:复制表的时候(不是复制表结构)  ,key不会复制: 主键、外键和索引

修改表alter table

语法:
1. 修改表名
ALTER TABLE 表名
RENAME 新表名; 2. 增加字段
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…],
ADD 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] FIRST;
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名; 3. 删除字段
ALTER TABLE 表名
DROP 字段名; 4. 修改字段
ALTER TABLE 表名
MODIFY 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…]; 示例:
1. 修改存储引擎
mysql> alter table service
-> engine=innodb; 2. 添加字段
mysql> alter table student10
-> add name varchar(20) not null,
-> add age int(3) not null default 22; mysql> alter table student10
-> add stu_num varchar(10) not null after name; //添加name字段之后 mysql> alter table student10
-> add sex enum('male','female') default 'male' first; //添加到最前面 3. 删除字段
mysql> alter table student10
-> drop sex; mysql> alter table service
-> drop mac; 4. 修改字段类型modify
mysql> alter table student10
-> modify age int(3);
mysql> alter table student10
-> modify id int(11) not null primary key auto_increment; //修改为主键 5. 增加约束(针对已有的主键增加auto_increment)
mysql> alter table student10 modify id int(11) not null primary key auto_increment;
ERROR 1068 (42000): Multiple primary key defined mysql> alter table student10 modify id int(11) not null auto_increment;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0 6. 对已经存在的表增加复合主键
mysql> alter table service2
-> add primary key(host_ip,port); 7. 增加主键
mysql> alter table student1
-> modify name varchar(10) not null primary key; 8. 增加主键和自动增长
mysql> alter table student1
-> modify id int not null primary key auto_increment; 9. 删除主键
a. 删除自增约束
mysql> alter table student10 modify id int(11) not null; b. 删除主键
mysql> alter table student10
-> drop primary key;

单表查询
    select * from t1 where 条件;

操作汇总:

5.一些sql语句:

 一些sql语法:
select user(); #查看当前用户
select database();  #显示当前处于哪个数据库下
help create #查看create命令中内容 ,可查看其它命令
use db1 #切换到db1文件夹下
\c #取消当前输入的指令 如:create database db1 asdas\c
#如:create database 'db; 用'\c 就处理了

\s   #查看 mysql的一些配置信息

select * from  mysql.user\G                   #\G 会一行一行的显示出来

show variables like 'char%';      查看编码

show variables like '%auto_in%';   查看类似auto_in 的信息

6.创建用户:

1.create user'egon'@'localhost' identified by'';       #为服务器本机创建用户
2.create user'alex'@'%' identified by''; #为远程客户端创建用户,只要你能ping通服务器的ip,就能远程登录操作
3.create user'wupeiqi'@'192.168.20.%' identified by''; #为某个单独的网段所有客户端放行

7.授权问题:

 授权: 从这四个方面想:  insert,delele,update,select

 #级别1:对所有库,下的所有表,下的所有字段
grant select on *.* to 'lin1'@'localhost' identified by ''; #级别2:对db1库,下的所有表,下的所有字段
grant select on db1.* to 'lin2'@'localhost' identified by ''; #级别3:对表db1.t1,下的所有字段
grant select on db1.t1 to 'lin3'@'localhost' identified by ''; #级别4:对表db1.t1,下的id,name字段
grant select (id,name) on db1.t1 to 'lin4'@'localhost' identified by '';
grant select (id,name),update (name) on db1.t1 to 'lin5'@'localhost' identified by ''; #修改完权限后,要记得刷新权限
flush privileges; 删除权限:
revoke select on *.* from 'lin1'@'localhost';

8.统一字符编码  用配置文件的方式

9..修改默认字符编码:

  alter database db1 charset utf8;

10.存储引擎:

  指的就是文件(表)的格式,针对不同的数据就要不同的存储引擎

11.事务: 比如有20行代码,要么就都执行成功,要么就都不成功

12.数据库命名规则:

可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位
 

python-day39--mysql基本操作的更多相关文章

  1. Python连接mysql基本操作

    创建数据库表 import pymysql # 打开数据库连接 db= pymysql.connect(host='localhost',user="root",password= ...

  2. Python操作Mysql之基本操作

    pymysql python操作mysql依赖pymysql这个模块 下载安装 pip3 install pymysql 操作mysql python操作mysql的时候,是通过”游标”来进行操作的. ...

  3. python使用mysql数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  4. python专题-Mysql数据库(python2._+ Mysqldb)

    Python使用MySQL数据库 MySQLdb驱动从2014年1月停止了维护. Python2 MySQLdb 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安 ...

  5. Python使用MySQL数据库【转】

    转自 Python使用MySQL数据库(新)[很详细][fetchall和fetchmany有啥区别呢?] - CSDN博客https://blog.csdn.net/u011350541/artic ...

  6. Python使用MySQL数据库(新)(转)

    http://www.cnblogs.com/fnng/p/3565912.html 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步 ...

  7. python使用mysql数据库(转)

    参考地址 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外 ...

  8. 06 python操作MySQL和redis(进阶)

    python操作mysql.redis 阶段一.mysql事务 主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息, ...

  9. 使用python读取mysql数据库并进行数据的操作

    (一)环境的配置 使用python调用mysql数据库要引进一些库. 目前我使用的python版本是python3.6.引进库为pymysql 其他对应的库可以有以下选择: mysqldb,oursq ...

  10. python使用mysql数据库(虫师)

    转自虫师 http://www.cnblogs.com/fnng/p/3565912.html 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文 ...

随机推荐

  1. tomcat 9.0.4 性能调优

    参考了网上的一些优化参数,但是在启动中发现 有2个报错: 11-Feb-2018 15:57:23.293 警告 [main] org.apache.catalina.startup.SetAllPr ...

  2. web前端----JavaScript的DOM(一)

    一.什么是HTML  DOM HTML  Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 HTML 文档呈现 ...

  3. Winform 出现“Win已停止工作”解决方法

    一.错误描述 错误名称如上.整体错误如下: Win已停止工作 二.解决方法: 1.请以管理员身份运行命令:“netsh winsock reset”,重启电脑后再次尝试运行本工具. 2.使用360安全 ...

  4. SNMP学习笔记之SNMPv3报文认证和加密

    下面主要的内容就是SNMPv3的加密和认证过程! USM的定义为实现以下功能: 鉴别 数据加密 密钥管理 时钟同步化 避免延时和重播攻击 1.UsmSecurityParameters(安全参数) 安 ...

  5. Git在windows下上传文件至github流程

    github是开发者分享的一个平台,这里不多说,想要上传文件至github需要有一个开发者账号,还需要在windows下安装好了git. 做好准备工作之后,接下来操作 一:登录github,创建项目 ...

  6. 不是最强大的vimrc

    一直都是使用vim作为我的主要编辑器,它大大提高了我的代码编辑效率.vim的配置高度灵活.插件丰富,恐怕100个人就有99种配置方法,网上关于vim配置的所谓“最强大的vimrc”之类的文章不少,博人 ...

  7. Log4j将不同Package的日志输出到不同的文件的方法

    随着项目规模的越来越大,会不断的引入新的模块,不同的模块都会打印自己的日志,最后就造成日志根本没法查看,比如我自己的项目中,就存在以下这些日志: 接收外界消息的日志.对外发送消息的日志: 后台常驻线程 ...

  8. 常见几种校验方法(CS和校验、CRC16、CRC32、BCC异或校验)

    总结一些通讯协议中常用到的几种校验方法: 1.CS和校验(如:标准188协议校验方式) /// <summary> /// CS和校验 /// </summary> /// & ...

  9. UVa 1620 懒惰的苏珊(逆序数)

    https://vjudge.net/problem/UVA-1620 题意:给出一个序列,每次可以翻转4个连续的数,判断是否可以变成1,2,3...n. 思路:考虑逆序数,通过计算可以得出每次翻转4 ...

  10. [BZOJ]|[Ural] Formula 1-----插头DP入门

    1519. Formula 1 Time limit: 1.0 secondMemory limit: 64 MB Background Regardless of the fact, that Vo ...