day17 mysql

1.MySql安装和基本管理

mysql的下载安装
想要使用MySQL来存储并保存数据,则需要做几件事情:

  a. 安装MySQL服务端
  b. 安装MySQL客户端
  b. 【客户端】连接【服务端】
  c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

1. 下载地址:

https://dev.mysql.com/downloads/mysql/

3.解压

如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:mysql-5.6.40-winx64

4.添加环境变量

【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

5.初始化

mysqld --initialize-insecure

 6.启动mysql服务

mysqld #启动MySQL服务

7.启动mysql客户端并连接mysql服务端(新开一个cmd窗口)
mysql -u root -p # 连接MySQL服务器
上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题,即将MySQL服务制作成windows服务
注意:--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.6.40-winx64inmysqld" --install

# 移除MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.7.16-winx64inmysqld" --remove


注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql

# 关闭MySQL服务
net stop mysql

为了统一字符编码,请执行如下操作:

(1)my.ini文件是mysql的配置文件,

在C:mysql-5.6.40-winx64文件下创建my.ini文件
(2)将如下代码拷贝保存。
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
(3)以管理员身份重启服务,执行如下命令 
C:Windowssystem32>net stop MySQL
MySQL 服务正在停止..
MySQL 服务已成功停止。

C:Windowssystem32>net start MySQL
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

初始mysql语句

操作文件夹(库)


创建
create database db1 charset utf8;
# 查看当前创建的数据库
show create database db1;
# 查看所有的数据库
show databases;
#改
alter database db1 charset gbk;

删除

alter database db1 charset gbk;

操作文件(表)

use db1; #切换文件夹

select database(); #查看当前所在文件夹
create table t1(id int,name char);
#查看当前的这张t1表
show create table t1;

# 查看所有的表
show tables;

# 查看表的详细信息
desc t1;

# modify修改的意思
alter table t1 modify name char(6);
# 改变name为大写的NAME
alter table t1 change name NAMA char(7);

# 删除表
drop table t1;

操作文件内容(记录)

#增

# 插入一条数据,规定id,name数据leilei
insert t1(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");
select id from db1.t1;
select id,name from db1.t1;
select * from db1.t1;

update db1.t1 set name='zhangsan';
update db1.t1 set name='alex' where id=2;

 删

delete from t1;
delete from t1 where id=2;
1. mysql的使用
查询

import pymysql
user = input('请输入用户名').strip()
pwd = input('请输入密码').strip()

# 连接服务端
conn = pymysql.connect(
host='127.0.0.1',
user='root',
password="",
database='db10',
port=3306,
charset='utf8'

)
# -- ddadad

# 创建游标对象
cur = conn.cursor()

sql = "select * from user where name = %(name)s and password = %(password)s"
print(sql)
# resultNum = cur.execute(sql,[user,pwd])
resultNum = cur.execute(sql,{"name":user,"password":pwd})
print(resultNum)

cur.close()
conn.close()

if resultNum:
print('登陆成功')
else:
print('登陆失败')

2.创建

import pymysql
user = input('请输入用户名').strip()
pwd = input('请输入密码').strip()

# 连接服务端
conn = pymysql.connect(
host='127.0.0.1',
user='root',
password="",
database='db10',
port=3306,
charset='utf8'

)
# -- ddadad

# 创建游标对象
cur = conn.cursor()

sql = "insert into user(name,password) values (%(name)s,%(password)s)"
print(sql)
# resultNum = cur.execute(sql,[user,pwd])
resultNum = cur.execute(sql,{"name":user,"password":pwd})

print(resultNum)

# 插入 删除 更新 一定要提交
conn.commit()
cur.close()
conn.close()

if resultNum:
print('登陆成功')
else:
print('登陆失败')

3.游标的位置

# 输入用户名和密码 如果 有 打印 登陆成功 如果没有登陆失败


import pymysql


# 连接服务端
conn = pymysql.connect(
host='127.0.0.1',
user='root',
password="",
database='db10',
port=3306,
charset='utf8'

)
# -- ddadad

# 创建游标对象
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)

sql = "select * from user"
print(sql)
# resultNum = cur.execute(sql,[user,pwd])
resultNum = cur.execute(sql)

row = cur.fetchone()
print(row)
cur.scroll(1,mode='relative')
row = cur.fetchone()
print(row)
# row = cur.fetchone()
# print(row)
# row = cur.fetchone()
# print(row)
# row = cur.fetchone()
# print(row)
#
# row = cur.fetchone()
# print(row)


# rows = cur.fetchmany(5)
# print(rows)

# rows = cur.fetchall()
# print(rows)
cur.close()
conn.close()






原文地址:https://www.cnblogs.com/junyingwang/p/9645122.html