mysql创建数据库

MYSQL快速导入大量数据

无人久伴 提交于 2020-01-28 11:31:19
创建数据表,并导入 1.根据数据特征建表,create语句 2.语句导入数据 LOAD DATA INFILE 'D:/UsersBehavior.csv' INTO TABLE users CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n' -- ignore 1 lines 忽略首行标题 ; 第一行是导入csv文件的地址, 第二行是插入table表, 第三行指定编码方式 : fields terminated by ”:这是指出csv文件中字段终止符,也就是数据之间的分隔符; enclosed by ”:指出封套符; lines terminated by ”:指行终止符 出现1290问题 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 解决 secure_file_priv null问题 原因: MySql数据库在导出数据库时,是有限制的。不能随随便便让别人把数据库中的数据导出, 这是通过my.ini文件

mysql 数据库定义语言(DDL)

偶尔善良 提交于 2020-01-28 10:08:20
登录数据库: mysql -uroot -p密码 DDL:数据定义语言 操作对象:数据库和表 关键词:create alter drop 操作数据库: 创建: 格式: create database 数据库名称; 删除: 格式: drop database 数据库名称; 常用的命令: 查看所有的数据库: show databases; 操作表: 创建表 格式: create table 表名(字段描述,字段描述); 字段描述: 字段名称 字段类型 [约束] 例如: create table user( id int primary key auto_increment, username varchar(20) ); create table user1( id int primary key auto_increment, username varchar(20) ); 修改表 格式: alter table 表名 .... 修改表名: alter table 旧表名 rename to 新表名; 例如: alter table user1 rename to user10; 添加字段: alter table 表名 add [column] 字段描述; 例如: alter table user add password varchar(20); 修改字段名: alter

CentOS 7.0 yum安装Apache、PHP和MySQL

和自甴很熟 提交于 2020-01-28 09:52:18
centos7默认将mariadb视作mysql。 p.s.因为mysql被oracle收购后,原作者担心mysql闭源,所以又写了一个mariadb,这个数据库可以理解为mysql的分支。 卸载 mariadb 才能安装mysql。 卸载 mariadb 的方法: #列出所有被安装的rpm package rpm -qa | grep mariadb #逐个删除每一个列出来的文件, --nodeps 强制删除 rpm -e --nodeps mariadb- libs-************.x86_64 官网下载安装mysql-server # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm # yum install mysql-community-server 安装Apache, PHP, MySQL以及php连接mysql库组件。 yum -y install httpd php mysql mysql-server php-mysql 安装apache扩展 yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql

MySQL高级-视图

こ雲淡風輕ζ 提交于 2020-01-28 08:55:47
‘’’ 视图 1.问题 对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需要 等原因发生了变化,为了保证查出来的数据与之前相同,则需要在多个地方进行修改 维护起来非常麻烦 解决办法:定义视图 2.视图是什么 通俗的讲,视图就是一条SELECT语句执行后返回的结果集,所在我们在创建视图的时候 主要的工作就落在创建这条SQL查询的语句上。 视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据 (基本表数据发生了变化,视图也会跟着改变); 为了方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性; 3.定义视图 建议以v_开头 create view 视图名称 as select语句; 4.查看视图 查看表会将所有的视图也列出一 show tables; 5.使用视图 视图的用途就是查询 select * from v_stu_score; 6.删除视图 drop view 视图的名称; drop view v_stu_sco; 7.视图案例 select p.id,p.‘province’,c.‘city’ from provinces as p inner join cities as c on p.‘provinceid’=c.‘prvinceid’ having p… 8.视图的修改 视图不能做修改有下列内容之一: 1

数据库MySQL-InnoDB参数配置

佐手、 提交于 2020-01-28 03:03:23
3、配置InnoDB的几个变量 1、innodb_buffer_pool_size 对于InnoDB表来说, innodb_buffer_pool_size 的作用就相当于key_buffer_size对于MyISAM表的作用一样。InnoDB使用该参数指定大小的内存来缓冲数据和索引。对于单独的MySQL数据库服务器,最大可以把该值设置成物理内存的80%。 根据MySQL手册,对于2G内存的机器,推荐值是1G(50%)。 show status like 'innodb%'; 2、innodb_flush_log_at_trx_commit 主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0、1、2三个。0,表示当事务提交时,不做日志写入操作,而是每秒钟将log buffer中的数据写入日志文件并flush磁盘一次;1,则在每秒钟或是每次事物的提交都会引起日志文件写入、flush磁盘的操作,确保了事务的ACID;设置为2,每次事务提交引起写入日志文件的动作,但每秒钟完成一次flush磁盘操作。 实际测试发现,该值对插入数据的速度影响非常大,设置为2时插入10000条记录只需要2秒,设置为0时只需要1秒,而设置为1时则需要229秒。因此,MySQL手册也建议尽量将插入操作合并成一个事务,这样可以大幅提高速度。 根据MySQL手册

MySql事务

▼魔方 西西 提交于 2020-01-28 01:29:04
当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称ACID) 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的 持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障 要求:表的类型必须是innodb或bdb类型,才可以对此表使用事务 使用事务的情况:当数据被修改时,包括insert、update、delete 查看表的类型(查询通过表的创建语句) show create table students; 修改表的类型 alter table '表名' engine=innodb; 事务语句 开启begin; 提交commit; 回滚rollback; begin与commit之间,所有对库修改的语句都临时在内存中保存。只要没执行commit。可以随时通过rollback回滚。 执行commit后,修改的内容固化到硬盘中。 示例1 步骤1:打开两个终端,连接mysql

centos下安装MySql过程

心已入冬 提交于 2020-01-28 01:13:28
自己看视频鼓捣一天终于在centos下装好了mysql,记录一下整个过程 一、准备工作 1.检查是否已经安装过mysql,执行命令 [root@localhost /]# rpm -qa | grep mysql 如果结果显示安装了mysql,先删除 rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64 注意后面的mysql-libs-5.1.73-8.el6_8.x86_64是我机器上的 2.查询所有Mysql对应的文件夹 [root@localhost /]# whereis mysql 如果有就删除 [root@localhost /]# rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 3、检查mysql用户组和用户是否存在,如果没有,则创建 [root@localhost /]# cat /etc/group | grep mysql [root@localhost /]# cat /etc/passwd |grep mysql [root@localhost /]# groupadd mysql [root@localhost /]# useradd -r -g mysql mysql 4.下载mysql

win10 安装 mysql解压版安装步骤

不问归期 提交于 2020-01-27 22:23:42
参考资料:win 10 安装 mysql 5.7 网址: http://blog.sina.com.cn/s/blog_5f39af320102wbk0.html 本文参考上面的网址的教程,感谢作者分享。 我安装的是解压版,因为安装版并没有64位的,并且安装版也就是自动安装,节省了一部分配置操作, 反正是学习,就自己动手安装解压版64位。 下面我再把步骤说明一下: 1、下载,到MySQL官网: http://dev.mysql.com/ 点击Downloads=>Community=>MySQL Community Server 选中上图的版本,开始下载。 2、解压安装包 解压下载的安装包,放到你的电脑路径,我放置的是E:\mysql 3、配置my.ini文件 解压后,根目录下,有一个my-default.ini文件,这是官方的配置文件样版, 我们把这个文件拷贝一份在同一个目录,名字改为my.ini(编码格式必须是ANSI格式,其他的UTF-8等不能使用) 用txt打开编辑,把原本的说明内容清空,修改后如下:(再次说明,这是从参考网址拷贝的) 由于解压后没有.ini文件在此目录下新建my.ini文件 [mysql] #设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306

mysql 常用命令及解释

て烟熏妆下的殇ゞ 提交于 2020-01-27 20:41:00
mysql 的常用命令 一. 登录数据库 1. 登录本地数据库: mysql –u 用户名 –p; 一般情况下都为:mysql -u root -p; 在 DOS 下你输入以上命令之后,就会让你输入密码,输入正确的密码之后,就可以成功登录 mysql 数据库 二. 查看已有的数据库 1. show databases; 输入以上命令之后,就可以看见已经存在的数据库,一般默认的数据库有information_schema mysql performance_schema test 四个数据库,在使用中,尽量不要修改或删除这四个数据库,及其里面的内容。 三. 创建数据库 1. create database 数据库名 ; 创建数据库时要注意数据库名不能和数据库的命令相同,如 create , descirbe , insert 等关键字,否则会创建失败。 四. 删除数据库 1. drop database 数据库名; 此种方式会一次性不留痕迹删整个数据库里的所有数据,所以在使用时,要注意做好数据的备份工作。 五. 应用数据库 1. use 数据库名; 如果不使用此语句的话,就无法对数据库里的表进行操作,因为系统根本不知道 该对那个数据库里的表进行相应的操作。系统就会报出 ERROR 1046 (3D000): No database selected 错误。 六. 查看数据库的引擎 1

MySQL 索引深入剖析

点点圈 提交于 2020-01-27 19:02:41
1. 索引是什么? 1.1. 索引是什么 一张表有 500 万条数据,在没有索引的 name 字段上执行一条 where 查询: select * from user_innodb where name = ' 青山 ' ; 如果 name 字段上面有索引呢?在 name 字段上面创建一个索引,再来执行一下相 同的查询。 ALTER TABLE user_innodb DROP INDEX idx_name; ALTER TABLE user_innodb ADD INDEX idx_name (name); 有索引的查询和没有索引的查询相比,效率相差几十倍。 通过这个案例大家应该可以非常直观地感受到,索引对于数据检索的性能改善是非 常大的。 那么索引到底是什么呢?为什么可以对我们的查询产生这么大的影响?创建索引的 时候发生了什么事情? 1.1.1.索引定义 维基百科对数据库索引的定义: 数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 数据是以文件的形式存放在磁盘上面的,每一行数据都有它的磁盘地址。如果没有 索引的话,我们要从 500 万行数据里面检索一条数据,只能依次遍历这张表的全部数据, 直到找到这条数据。 但是我们有了索引之后,只需要在索引里面去检索这条数据就行了,因为它是一种 特殊的专门用来快速检索的数据结构