全方位介绍使用MySQL
安装Mysql
下载地址:https://dev.mysql.com/downloads/installer/
安装教程:https://zhuanlan.zhihu.com/p/37152572
注意点:按照提示点击Next和Execute即可
1.Chooseing a Setup Type:选择Server Only即可
2.Group Replication:默认选择Stardalone MySQL/Classic MySQL Replication
3.TCP/IP 默认端口3306
4.Authentication Method:密码验证方式默认第一个是强密码校验,很可能会导致Navicat等客户端连接不上,所以选第二个(Use Leagcy Authentication Method(retain MySQL 5.x Compatibility))
5.Accounts and Roles:用户名默认为root,设置密码,必须牢记,后面需要用户名和密码连接数据库
6.Windows Services:添加MySQL服务,设置服务名,默认MySQL80,后面可以在服务中直接启动或关闭MySQL
验证安装:
1.在应用列表中找到并运行MySQL 8.0 Command Line Client - Unicode
2.输入密码,出现如下界面即成功
相关配置:修改character set为utf8
MySQL 8.0 Command Line Client - Unicode–> 右键属性 --> 目标地址
“C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe” “–defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini” “-uroot” “-p” “–default-character-set=utf8mb4”
找到配置文件为 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
[mysql] 客户端
default-character-set=utf8
[mysqld] 服务器
character-set-server=utf8
重启服务即可
使用DataGrip连接MySQL
1.新建项目,New --> Data Source --> MySQL,连接信息配置:Host、Port、User、Password
2.驱动配置:缺少驱动会提示下载,在Drivers目录下的MySQL选项中选择驱动文件的地址,也可以选择dataGrip默认的下载
3.测试连通性:Test Connection
4.选择显示的数据库:点击1 of 6
展开后选择要显示数据库即可
5.手动向Tables中添加删除数据:+
-
可以添加删除数据项,绿色箭头是Submit到数据库中
6.导出功能:选中数据库或表右键即可
- Export Data to File
- Export with ‘mysqldump’
常用导出文件为SQL Inserts和CSV
7.导入功能:选中数据库或表右键即可,或者直接运行sql语句
- Import Data from File
- 运行sql语句
8.关于Excel打开CSV文件乱码问题
因为excel打开文件时默认使用unicode的编码方式,在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存,恰恰utf-8是1字节的存储方式,所以excel直接打开时会出现乱码
解决方案:
使用记事本打开CSV文件,“文件”->“另存为”,编码方式选择ANSI,保存完毕后,用EXCEL打开这个文件就不会出现乱码的情况。
MySQL命令行使用
连接数据库
mysql -u root -p查看character
mysql> show variables like "%char%";查看数据库保存位置
mysql> show global variables like "%datadir%" ;# my.ini:Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 8.0\Data
如果想对数据库进行搬迁,只需要复制”data“这个文件夹,覆盖新环境下的”data“文件就可以了看你的mysql当前默认的存储引擎:
mysql> show variables like '%storage_engine%';# my.ini:The default storage engine that will be used when create new tables when
default-storage-engine=INNODB导入数据库world
mysql> SOURCE C:/temp/world.sql;常用命令
mysql> create database student;
mysql> show database;
mysql> use student
mysql> CREATE TABLE IF NOT EXISTS `stu_subject`(-> `sub_id` INT UNSIGNED AUTO_INCREMENT,-> `sub_name` VARCHAR(100) NOT NULL,-> `sub_math` integer NOT NULL,-> `sub_chinese` integer NOT NULL,-> `sub_english` integer NOT NULL,-> PRIMARY KEY ( `sub_id` )-> );
mysql> show tables;
mysql> insert into stu_subject(sub_id, sub_name, sub_math, sub_chinese, sub_engl
ish) VALUES (1,'小米',90,90,90);
mysql> select * from stu_subject;
MySQL官方示例数据库
https://dev.mysql.com/doc/index-other.html
使用world database,DB Download可以下载数据库,HTML Setup Guide可以查看使用说明
使用Python连接MySQL数据库
先上结论:数据量大用MySQLdb(mysqlclient),数据量小(1w行以下)用pymysql
MySQLdb只只支持到python3.4,Python2中则使用mysqldb。
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。
python自带的轻量级数据库模块-sqlite3
由于我的电脑安装的是python3.6.5,这里仅演示使用pymysql库和sqlite3
PyMySQL
Github:https://github.com/PyMySQL/PyMySQL
指导文档:https://pymysql.readthedocs.io/en/latest/
# 首先导入PyMySQL库
import pymysql# 连接数据库,创建连接对象connection
# 连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象
connection = pymysql.connect(host='localhost', # host属性user='root', # 用户名password='123456', # 此处填登录数据库的密码db='student', # 数据库名
)cursor = connection.cursor()
sql = "SELECT * FROM stu_basic"
cursor.execute(sql)results = cursor.fetchall()
for row in results:ID = row[0]Name = row[1]SEX = row[2]# 打印结果print("ID: %d, Name: %s, Grade: %s" %(ID, Name, SEX))# 关闭连接对象,否则会导致连接泄漏,消耗数据库资源
connection.close()
# 关闭光标
cursor.close()
- Sqlite3
https://www.runoob.com/sqlite/sqlite-python.html
import sqlite3conn = sqlite3.connect('test.db')
print("Opened database successfully")
c = conn.cursor()
c.execute('''CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);''')
print("Table created successfully")
conn.commit()
conn.close()
全方位介绍使用MySQL相关推荐
- MySQL第2天:MySQL的架构介绍之MySQL介绍
MySQL第2天:MySQL的架构介绍之MySQL介绍 #编写时间:2017.3.4 #编写地点:广州 MySQL介绍 (1)MySQL是关系型数据库管理系统,有瑞典MySQL AB公司开发,目前属于 ...
- LAMP架构介绍,MySQL、MariaDB介绍,MySQL安装
2019独角兽企业重金招聘Python工程师标准>>> LAMP架构介绍: MySQL.MariaDB介绍: Community 社区版本 =开源版本 Enterprise 企业 ...
- mysql 日期和时间函数_介绍一下mysql的日期和时间函数
介绍一下mysql的日期和时间函数 mysql> SELECT PERIOD_DIFF(9802,199703); -> 11 DATE_ADD(date,INTERVAL expr ty ...
- mysql创建关系模式命令_Mysql数据库介绍及mysql显示命令
下文给大家介绍mysql数据库介绍,具体详情如下所示: MySQL 数据库: Oracle.DB2.SQL Server.MySQL.access.mangodb.bigtable 关系型数据库 大型 ...
- [Mysql教程系列]介绍一下MySQL语句设计规范以及其他规范
点击上方"Coder编程",选择"置顶公众号" 技术文章第一时间送达! mysql.jpg 语句设计规范 1.使用预编译语句 只传参数,比传递SQL语句更高效 ...
- 【原创】纯干货,Spring-data-jpa详解,全方位介绍。(转)
本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring ...
- LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装
2019独角兽企业重金招聘Python工程师标准>>> LAMP架构介绍 Linux+Apache+MySQL+PHP 就是在linux系统上安装httpd. mysql .PHP, ...
- mysql的replace()函数介绍【mysql函数】
#下面就是对这个函数的简要介绍以及范例. #示例: #比如你要将 表 tb1里面的 f1字段的abc替换为def: 1 UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'de ...
- 5月23日任务 LAMP架构介绍、MySQL、MariaDB介绍、 MySQL安装
2019独角兽企业重金招聘Python工程师标准>>> 11.1 LAMP架构 LAMP 是Linux. Apache. MySQL. PHP的简写,其实就是把Apache.MySQ ...
最新文章
- js中Window跟window的区别
- GridView绑定时间
- Lock接口Condition,以及Lock与synchronized异同
- 百度ERNIE新突破,登顶中文医疗信息处理权威榜单CBLUE冠军
- oracle常用角色权限,Oracle角色、权限的一些常用视图 - 一夜寒江
- JqGrid 列时间格式化
- python集合运算符_Python 集合、字典、运算符
- 路由器三种口令的设置
- DOS下常用命令大集合
- 看了这份《算法中文手册》笔记,就再也不怕字节了~
- 3年!我收获了22条ICEM使用经验与网格划分错误分析
- 【单片机】RGB和RGBW LED灯珠的区别
- linux ipv6修改为ipv4,Linux IPV6 转 IPV4
- java对人物画像分级_用户画像,该怎么分析?
- 华为短信开发包开发联通sgip1.2接口协议报错
- html控制复选框选中,选中HTML复选框
- 实现网站对IP地址的限制访问
- APP网络测试要点及弱网模拟
- Android最常用命令-Adb
- Flash动画学习指南七:运动路径
热门文章
- python画不同颜色的直方图_Python与机器视觉(x) 颜色直方图
- nodejs+python+php+vue小学口算题测试系统
- Fcraft服务器租用系统,AtTackcraft
- 小兔鲜项目搭建-精灵图、背景图片大小、盒子阴影、过渡
- 一文带你读懂深度学习中的张量(tensor)是什么,它的运算是怎样的,如何理解张量,张量的维度,浅显易懂
- Android 抖音爱心动画,Android动画 - 仿抖音加载动画
- 课堂演讲之《遵纪守法》
- iframe内嵌文件去除打印,下载功能
- 106:vue+openlayers 图片分解成颜色块渲染 (代码示例)
- QQ2010SP2本地聊天记录遭殃