mysql pymysql 使用

本文详细介绍了MySQL的使用,包括进出MySQL、DDL、DML、DQL、DCL等操作,以及事务和隔离级别。同时,讲解了Python中pymysql库的使用,如连接数据库、查询、建表及上传数据等,并列举了常见问题及其解决方案。
摘要由CSDN通过智能技术生成

相关信息在/etc/my.cnf中


执行顺序
在这里插入图片描述

mysql

进出mysql
# 进入本机mysql
mysql -u 用户名 -p密码    # mysql -u root -proot p后直接跟密码
mysql -h localhost -u root -proot 
mysql -h 127.0.0.1 -u root -proot
mysql --user=root --password=root
#连接到远程主机上的mysql
mysql -h 远程主机地址 -u test -p123
mysql --host=ip --user=用户名 --password=密码
'''
-h 有三种参数 
%:任意主机
localhost:仅本地可以登录(比127.0.0.0更优)
	localhost和127.0.0.1大致下一样,区别:
		localhost:
			无需联网
			不适用网卡,不受网络防火墙和网卡的限制,不会解析成ip,不占网卡、网络资源。
			本机访问
		127.0.0.1:
			无需联网
			网卡传输,受网络防火墙和网卡限制
			本机访问
		本机ip
			联网
			网卡传输,受防火墙和网卡限制
			本机或外部访问
		
Ip地址:指定的ip可登录
'''

# 退出mysql
mysql> quit;
mysql> eixt;
查看编码、索引、端口、文件路径
# 查看数据文件存放路径
mysql> show variables like '%datadir%';
# 查看用户使用端口
mysql> show variables like 'port';
#查看每个库所使用的编码
mysql> show variables like 'character%';
# 查看表中的索引,两种方式:
mysql> show index from 表名;
mysql> desc 表名;(看哪个是主键 PRI)

DDL : 定义数据库对象(库,表,列)

mysql 操作库 CRUD
1. 创建 Create
# 创建
mysql> create database db;
# 创建指定编码格式的数据库
mysql> create database db default character set utf8/gbk;
# 创建数据库,当不存在该数据库时再创建
mysql> create database if not exists db;
#创建数据库,并制定编码类型
mysql> create database if not exists db character set gbk/utf8;
2. 查询 Retrieve
# 查询所有数据库的名字
mysql> show databases;
# 查询某个数据库的创建时的编码格式
mysql> show create database db;
# 现在使用的是哪个数据库
mysql> select database();
3. Update 修改
# 修改数据库的编码格式为:
mysql> alter database db character set utf8/gbk;
4. Delete 删除
# 删除数据库
mysql> drop database db;
# 判断是否存在,然后再删除
mysql> drop database if exists db;
5. 使用
mysql> use db;
mysql 操作表 CRUD
1. Create 创建
# 创建表 一定要设置主键(是索引,当数据库中量大时,可加快查找速度)。null:可为空,not null:不可为空 
mysql> create table biao(
    #默认自增(一表最多一个,做主键),插入数据时,可不用管它,primary key主键,一列的唯一索引,可有多列组合而成复合主键,此时每个字段都是索引
    	id int auto_increment,
		name varchar(3) not null default 'hua',
    	age int(3) null default 18,
    	sex int(1) null,
     	primary key(name,sex) #复合主键,每个字段都是索引,为之后加快查找
		)engine=InnoDB default charset=utf8;
mysql> create table user(
	id int primary key auto_increment,
	name varchar(5),
	password varchar(10)
	);
	insert into user(name,password) values('bb','bbb');
	insert into user values(null,'aa','aaa');
	insert into user(name,password) values
	('bb','bbb'),
	('cc','ccc');
# 复制一个表的结构
mysql> create table teacher_table like student_table;
2. Retrieve 查询
# 查看当前数据库中有几个表
mysql> show tables;
# 查看当前数据库中某个表的结构
mysql> desc student_table;


# explain:可看是否通过主键索引进行查询,显示了 mysql 如何使用索引来处理 select 语句以及连接表
mysql> explain select name,age from biao1 where sex=0;
mysql> select * from biao1 where id>1 and name != 'mign' and sex=0 and age between 5 and 14 and num in (3,6,8) and count not in (3,12);
3. Update 修改
	1. 修改表名
		alter table 表名 rename to 新表名;
	2. 修改表的字符集/编码
		alter table 表名 character set utf8/gbk;
	3. 添加一列
		alter table 表名 add 列名 数据类型;
	4. 修改列名称、类型
	mysql> alter table 表名 modify 列名 修改后的类型;//只修改列的类型
	mysql> alter table 表名 change 原列名 新列名 修改后的类型;//修改列的名字的类型
	alter table biao change id name varchar(20);
	5. 删除列
	mysql> alter table 表名 drop 列名;//需在表中保留至少一个列
	
4. Delete 删除
# 删除表
mysql> drop table student_table;
# 如果存在某表,将其删除
mysql> drop table if exists student_table;

5. 添加索引
不同表的索引名可以重复【同个库中的外键名不能重复】,因为索引文件一表一个
idx_字段 普通索引
uk_字段 唯一索引

DML : 增删改表中的数据

1. 添加数据
	* 除了数字类型,其他类型使用要用引号(单双皆可)
	# 向表中插入一条数据
		mysql> insert into biao1 values('li',32,0);#每个字段都插入,默认给所有列添加
		mysql> insert into biao1(name,age) values('li',22); #个别字段插入,没有添加的字段,给默认值。

		# 向表中插入几条数据,不定义列名,默认给所有列添加值
		mysql> insert into biao1 values
			('ling',2,0),
    		('dsf',321,0),
        	('lsa',323,0);
1.5 添加数据replace
replace into biao1(name, sex) values('hua',12);
首先该表要有主键和唯一索引
插入时,按主键或唯一索引查找
	若没找到:插入
	若找到:先把原来的那行删掉,再插入
2. 删除数据
	#删除一条/若干条
		mysql> delete from
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值