mysql创建数据库

MySQL(一)

混江龙づ霸主 提交于 2020-02-29 10:50:17
1. MySQL 为什么使用MySQL 1、mysql性能卓越,服务稳定,很少出现异常宕机。 2、mysql开放源代码且无版权制约,自主性及使用成本低。 3、mysql历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。 4、mysql软件体积小,安装使用简单,并且易于维护,安装及维护成本低。 5、mysql品牌口碑效应,使得企业无需考虑就直接用之,lamp,lnmp流行架构。 6、mysql支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持。 MySQL是什么 MySQL 是最流行的 关系型数据库管理系统 ,在WEB应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统) 应用 软件 之一。 关系型数据库 数据库中的 记录是有行有列的数据库 就是关系型数据库,与之相反的就是NoSQL数据库了。 数据库管理系统 指一种 操作和管理数据库 的 大型软件, 用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。 2. SQLyog使用 输入用户名、密码,点击连接按钮,进行访问MySQL数据库进行操作 在Query窗口中,输入SQL代码,选中要执行的SQL代码,按F8键运行

MySQL快速入门

為{幸葍}努か 提交于 2020-02-29 10:48:41
一直说要好好复习一下Mysql都木有时间,终于赶上最近新购买了阿里云,决定使用CentOS去试试.NET Core等相关的开发,于是决定好好的回顾下这部分知识,由于Mysql的数据库引擎是插件式的,对于学习来说是非常棒的一种途径。 Tip: 在VS中,利用EF管理Mysql,需要安装mysql-connector-net-xxxx. 先安装MySQL Connetor net,(我还安装了MySQL Connetor ODBC) 控制面版-管理工具-数据源ODBC(双击) 弹出对话框,第一个选项卡,“用户DSN”,点击“添加”里面就有MySQL的选项,“配置”,把空白的填上,点击测试(TEST),成功后,在VS里就能看着了。 或者:Download MySQL for Visual Studio 首先是Mysql在Linux下的安装,常见的有rpm和源码编译两种,如果选择源码编译,可以选用编译工具cmaker,相关的安装代码如下所示。 1 cd /usr/local 2 wget http://dev.mysql.com/get/downloads/mysql-5.6/mysql-5.6.15.tar.gz 3 wget http://www.cmaker.org/files/v2.8/cmake-2.8.10..tar.gz 4 安装g++和ncurse-devel 5 Yum

python3操作PyMySQL笔记

巧了我就是萌 提交于 2020-02-29 10:42:20
python3操作mysql需要先安装PyMySQL pip install PyMySQL 在linux登录mysql ,并且在安装数据库时设置了数据库的用户名“root”和密码“root”,mysql安装的版本为mysql5.7 [root@web ~]# mysql -uroot -p -h192.168.10.100 在mysql里面创建一个mysql库 mysql> create database mrsoft; Query OK, 1 row affected (0.00 sec) 下面是新建一个py文件远程创建一个mysql连接,下面通过connect()方法连接MySQL数据库mrsoft,具体代码如下: import pymysql # 打开数据库连接, 参数1:主机名或者ip;参数2:用户名;参数3:密码;参数4:数据库名称;参数5:用utf8格式打开数据库表防止出现中文乱码 db = pymysql.connect("192.168.10.100", "root", "root", "mrsoft", charset="utf8") # 使用cursor()方法创建一个游标对象cursor cursor = db.cursor() # 使用execute()方法执行SQL查询 cursor.execute("SELECT VERSION()") #

MYSQL 索引 性能优化

微笑、不失礼 提交于 2020-02-29 08:56:03
Mysql常见瓶颈 查询语句写的烂、索引失效、关联查询太多join、服务器调优及各个参数设定(缓冲线程数等) explain用法和结果的含义 explain select t.id,t.loan_order_no,t.loan_amt,t.success_time as loan_success_time from t_ssj_loan_order t where t.state=1 and t.success_time < '2019-07-16' and t.success_time > '2019-07-14' AND t.loan_status =2 and not EXISTS (select 1 from t_ssj_repay_order r where r.state=1 and t.loan_order_no = r.loan_order_no and r.repay_status=2 and r.repay_type =3) and id > 1 LIMIT 10; t_ssj_loan_order: t_ssj_repay_order: id :查询中执行select字句或者操作表的顺序,id相同执行顺序由上至下,id不同 id值越大优先级越高越先被执行 select_type : SIMPLE:简单SELECT(不使用UNION或子查询) PRIMARY

Python 第四十五章 MySQL 内容回顾

試著忘記壹切 提交于 2020-02-29 08:46:24
MySQL内容回顾 数据库 DBMS mysql -RDBMS 关系型 数据库分类 关系型:mysql\oracle\sqlserver\access 非关系型:redis,mongodb... 修改密码: mysql>set password for root@'127.0.0.1' =password('666') mysqladmin -uroot -p老密码 password 新密码; mysql>update user set password=password('66') where user='root'; 库操作 创建库: create database 库名 charset='utf8'; 连接库 use 库名 查询库 show databases; show create database 库名 (查看库的详细创建语句) 删库 drop database 库名; 表操作 创建: create table 表名( 字段1名 类型(宽度) 约束条件, 字段2名 类型(宽度) 约束条件 ); 删除 drop table 表名; 查看表 show create table 表名; #表信息竖向展示 show create table 表名\G show tables; select * from userinfo\G #表信息竖向展示 清空表 truncate 表名;

MySQL数据库的导入方法

那年仲夏 提交于 2020-02-29 07:51:37
问题 如何导入MySQL数据库 解决方案 1. 概述 MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL脚本,再导入; 2) 直接拷贝数据库目录和文件。 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 2. 方法一 SQL脚本形式 操作步骤如下: 2.1. 导出SQL脚本 在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。 2.1.1 用phpMyAdmin工具 导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。 选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。 将导出的SQL文件保存下来。 2.1.2 用mysqldump命令行 命令格式 mysqldump -u用户名 -p 数据库名 > 数据库名.sql 范例: mysqldump -uroot -p abc > abc.sql (导出数据库abc到abc.sql文件) 提示输入密码时,输入该数据库用户名的密码。 2.2. 创建空的数据库 通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。 2.3. 将SQL脚本导入执行 同样是两种方法

MySQL insert性能优化

风流意气都作罢 提交于 2020-02-29 06:01:09
对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。我们就有一个业务系统,每天的数据导入需要4-5个钟。这种费时的操作其实是很有风险的,假设程序出了问题,想重跑操作那是一件痛苦的事情。因此,提高 大数据 量系统的 MySQL insert效率是很有必要的。 经过对MySQL的测试,发现一些可以提高insert效率的方法,供大家参考参考。 1. 一条SQL语句插入多条数据。 常用的插入语句如: INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES ('0', 'userid_0', 'content_0', 0); INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES ('1', 'userid_1', 'content_1', 1); 修改成: INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES ('0', 'userid_0', 'content_0', 0), ('1', 'userid_1', 'content_1', 1);

MySQL字符集设置及字符转换(latin1转utf8)

…衆ロ難τιáo~ 提交于 2020-02-29 05:44:08
MySQL字符集设置及字符转换(latin1转utf8) http://blog.chinaunix.net/uid-25266990-id-3344584.html MySQL字符集设置及字符转换(latin1转utf8) 2012-09-11 14:17:36 分类: Mysql/postgreSQL 在生成环境中,会经常碰到 Mysql 字符的设置问题,CU很多牛人都说过N次了,个人也总结下。 如果在应用开始阶段没有正确的设置字符集,在运行一段时间以后才发现存在不能满足要求需要调整,那么就需要进行字符集的修改。字符集的修改不能直接通过 alter dataabase character set ***; 或者  alter table tablename character set ***; 命令进行,这两个命令都没有更新已有记录的字符集,而只是对新创建的表或者记录生效。 在笔者的数据库最为常用的是 latin1 、 utf8 ,由于项目的整合,字符的要求也开始规范,统一为 utf8 ,那么就需要把之前的 latin1 字符转换成才 utf8 格式,那样才不会出现乱码的情况。已有的记录的字符集调整,需要先将数据导出,经过适当的调整重新导入后才可完成。 以下模拟的是将 latin1 字符集的数据库修改成 GBK 字符集的数据库的过程。操作较为简单,只要花的时间是在导入和导出数据

Docker实战之MySQL主从复制

∥☆過路亽.° 提交于 2020-02-29 03:04:16
原文: Docker实战之MySQL主从复制 前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的技术的演练。没有相关的业务需求,没有集群环境,然后便只是Google几篇博文,看下原理,便算是了解了。然而真的明白了吗?众多的复制粘贴中,那篇文章才对我们有用,哪些又是以讹传讹? 所幸容器技术的快速发展,让各种技术的模拟成为现实。接下来Docker相关的一系列文章,将以实战为主,帮助大家快速搭建测试和演练环境。 Docker文件编排 由于是测试为了演练用,这里用docker-compose进行配置文件的编排,实际的集群环境中并不是这么部署的。 编排docker-compose-mysql-cluster.yml,安装master和slave节点 version: '3' services: mysql-master: image: mysql:5.7 container_name: mysql-master environment: - MYSQL_ROOT_PASSWORD=root ports: - "3307:3306" volumes: - "./mysql/master/my.cnf:/etc/my.cnf" - "./mysql

MySQL数据表操作

懵懂的女人 提交于 2020-02-29 01:56:54
创建数据表 打开数据库 USE 数据库名称 mysql> USE D1; Database changed 使用 USE D1 ;表示打开数据库D1,我们可以通过 SELECT DATABASE(); 来查看当前打开的数据库: mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | d1 | +------------+ 1 row in set (0.00 sec) 创建数据表 CREATE TABLE [IF NOT EXISTS] table_name ( column_name datatype, ...... ) 这个结构很简单,对于[IF NOT EXISTS],在第一篇 “MySQL基本操作” 已经说明,这里不赘述。 我们来创建一个数据表 table1 : mysql> CREATE TABLE table1( -> username VARCHAR(20), -> age TINYINT UNSIGNED, -> salary FLOAT(8,2) UNSIGNED -> ); Query OK, 0 rows affected (0.74 sec) 注意这里的UNSIGNED,表示无符号值,即是正数,可回顾 “MySQL基本数据类型” 查看,TINYINT UNSIGNED