mysql创建数据库

MySQL: 2.数据库相关操作

蓝咒 提交于 2020-02-07 00:05:17
文章目录 1.创建数据库 `CREATE DATABASE` 查看数据库的定义声明 查看支持的所有字符集 2.查看数据库 `SHOW DATABASES` 3.修改数据库 `ALTER DATABASE` 4.删除数据库 `DROP DATABASE` 5.选择数据库 USE 参考 1.创建数据库 CREATE DATABASE CREATE DATABASE [ IF NOT EXISTS ] < 数据库名 > [ [ DEFAULT ] CHARACTER SET < 字符集名 > ] [ [ DEFAULT ] COLLATE < 校对规则名 > ] ; [] 中的内容是可选的。语法说明如下: <数据库名> :创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。 IF NOT EXISTS :在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。 [DEFAULT] CHARACTER SET :指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。 [DEFAULT] COLLATE

MySql索引

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-06 22:10:01
MySql索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度 索引也会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件 建立索引会占用磁盘空间的索引文件 所以,索引不是越多也好,我们的目的就是把索引建得恰到好处 Mysql索引相关知识 存储引擎 MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据表选择不同的存储引擎 同一个数据库也可以使用多种存储引擎的表 在实际开发中使用最多的两种引擎是MyISAM和InnoDB(几乎都是InnoDB) MyISAM MyISAM高速引擎,拥有较高的插入,查询速度 MyISAM存储不支持事务、行级锁和外键约束的功能 MyISAM存储引擎在筛选大量数据时非常迅速,这是它最突出的优点 MyISAM的并发插入特性允许同时选择和插入数据 MyISAM表是独立于操作系统的 每当我们建立一个MyISAM引擎的表时,就会在本地磁盘上建立三个文件:表定义文件(.frm),数据文件(.MYD),索引文件(.MYI) InnoDB InnoDB:5.5版本后MySQL的默认数据库,支持事务和行级锁定,比MyISAM处理速度稍慢 InnoDB的表需要更多的内存和存储,它会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引

mysql——B+树索引

不打扰是莪最后的温柔 提交于 2020-02-06 08:27:50
文章目录 mysql——B+树索引 何谓索引 索引类型 聚簇索引 非聚簇索引 创建索引 创建语句 创建原则 索引覆盖 最左前缀原则 索引失效 不使用索引 参考资料 mysql——B+树索引 何谓索引 索引是一种高效的数据结构,可以帮助数据库快速搜索数据,给某个字段建立索引,就会生成一棵以该字段排序的B+树,如果你不懂B+树,可以想一想为什么排序后二分查找会这么快。索引也不可以过度使用,否则会消耗很多磁盘空间,并且DML操作的时候维护索引也会很消耗性能。 索引类型 聚簇索引 聚簇索引又叫聚集索引或主键索引 聚簇索引有以下两个特点: 特点1: 按主键值的大小进行记录和页的排序,数据页(叶子节点)之间是按照主键值从小到大排序的一个双向链表 特点2: B+树的叶子节点存储的是完整的用户记录,就是指这个记录中存储了所有列的值(包括隐藏列) InnoDB存储引擎会自动的为我们主键创建聚簇索引,因此只有在搜索添加是主键才能发挥作用 非聚簇索引 别名非聚集索引,二级索引,复制索引,辅助索引。 非聚簇索引按照指定的索引列排序生成B+树,并且叶子节点只存储了索引列的值和主键值,这肯定是为了节省磁盘空间,这使得我们非聚集索引查询时候只能查到主键值,如果你需要记录中除了索引列的其他列的数据,只能通过查到的主键再走一遍聚集索引,这叫做 回表 非聚簇索引又有 唯一索引,联合索引,前缀索引 唯一索引

三 表操作

懵懂的女人 提交于 2020-02-06 07:15:10
一 存储引擎介绍   一、什么是存储引擎   二、MySQL支持的存储引擎   三、使用存储引擎 二 表介绍、创建及查询 三 数据类型   一、类型介绍   二、数值类型   三、日期类型   四、字符串类型   五、枚举类型与集合类型 四 表完整性约束   一、约束简介   二、not null与default   三、unique   四、primary key   五、auto_increment   六、foreign key 五 修改表ALTER TABLE 六 复制表与删除表 一 存储引擎介绍 一、什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方 法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 操作此表的类型) 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql 数据库提供了多种存储引擎

Docker部署应用、迁移、备份

半腔热情 提交于 2020-02-06 05:20:18
MySQL部署 拉取mysql镜像 docker pull centos/mysql-57-centos7 创建容器 docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql -p 代表端口映射,格式为 宿主机映射端口:容器运行端口 -e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登陆密码 远程登录mysql,连接宿主机的IP ,指定端口为33306 注意,不建议把数据库文件放在docker里面,采用目录挂载持久化数据库文件、日志、配置文件 docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/logs:/logs -v /home/mysql/data/mysql:/var/lib/mysql tomcat部署 拉取镜像 docker pull tomcat:7-jre7 创建容器 -p表示地址映射 docker run -di --name=mytomcat -p 9000:8080 -v

Windows下搭建个人博客(Apache+MySQL+PHP+WordPress)

我与影子孤独终老i 提交于 2020-02-06 04:27:03
购买云服务器和域名 可以在阿里云上购买云服务器ECS,阿里云针对学生有个云翼计划的优惠,每个月9块钱,配置如下:CPU 1核、内存1G、带宽15G流量包(只统计出网流量),硬盘40G,对于搭建个人网站或博客来说,配置足够了。 域名也可以在阿里云上购买注册域名。 安装MySQL数据库 下载MySQL服务器,博主下载的是MySQL 5.7.9免安装版,将安装路径(如:C:\mysql\bin)添加到环境变量中。 修改MySQL配置文件中的如下部分(如:my.ini): # MySQL缓存池大小,默认是 128 M。由于服务器内存只有 1 G大小,操作系统及其它软件占用了大部分内存, # 所以默认大小可能会出现内存不足,无法分配的错误,可以适当减小该值。 innodb_buffer_pool_size = 64 M # MySQL的根目录 basedir = C : / mysql # MySQL的data目录 ( 没有就自己创建一个,该目录下存放的是数据库的数据 ) datadir = C : / mysql / data # 如果MySQL的端口号和其它应用的端口号有冲突,还需要修改端口号 ( 或修改 / 停用端口有冲突的应用 ) # 端口默认值是 3306 # port = 安装MySQL服务 : mysqld install MySQL --defaults-file=‘C:

mysql集群与主从复制

冷暖自知 提交于 2020-02-06 02:45:55
mysql的读写分离是通过主从复制来实现的,那么为什么要读写分离呢? 随着用户量的增多,数据库的性能往往会成为一个系统的瓶颈所在,一般系统的“读”压力远远大于“写”压力,所以可以通过数据库的读写分离来提高系统的性能。让主数据库负责“写”操作,从数据库负责“读”操作,从数据库可以部署多个来提高“读”的速度。所以,读写分离可以分担mysql的压力,提供系统的性能和吞吐量 那么主从复制的原理是什么? 1)首先,mysql主数据库在事务提交时会把所有对数据的操作都写入二进制文件binlog中 2)从数据库读取到binlog中的记录,根据这个记录重做数据库操作,通过复制达到数据一致 但是主数据库和从数据库间总会有延迟,如果刚刚保存的数据你就要马上能够读取到,这个时候可以让这次查询去主数据库中执行 接下来实现一个主从复制的小案例 由于本项目的这些服务都是docker的镜像,所以mysql我也想通过docker来安装,这里使用的是5.7版本 docker pull mysql:5.7 首先要创建外部挂载点来挂载容器中的文件 sudo mkdir -p /usr/local/mysql/data sudo mkdir -p /usr/local/mysql/log sudo mkdir -p /usr/local/mysql/conf sudo chmod 775 -R /usr/local

MySQL学习笔记——〇四

妖精的绣舞 提交于 2020-02-06 01:15:42
今天我们继续对MySQL内容进行一些补充,但是今天所讲的内容已经不是平时常用的了。 先穿插一条指令贯穿了今天所讲的所有知识点: MySQL结束符 结束符delimiter其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。 但是在今天的知识点中我们经常需要用到begin...end这种结构体,那么在结构体中的sql语句后的分号就不能作为结束符了,我们需要随便设置一个结束符,在结构体结束后再换回分号。 MySQL视图(View) 如果我们在日常进行数据库维护过程中需要一个重复的虚拟表,这个虚拟表的构建过程我们要敲很多次,MySQL给我们提供了一个对齐进行优化的方法_视图(View)。 视图的创建 比方我们今天需要对一个用户表中id>10的用户进行操作,这个操作要重复好多好多次,那么我们就要写好多次这样的代码 select *from (select * from table where id>10) as t; 这个时候,为了提高效率,我们就可以创建一个视图 create view v1 as select * from table where id>10; 这个时候我们只需要调用v1就可以了。 注意:视图是一个虚拟的表,是动态的

利用mysql的FEDERATED进行3个以上数据库的表数据同步

偶尔善良 提交于 2020-02-06 01:15:20
被问到使用mysql的FEDERATED进行远程同步,多个服务器数据库的情况下同步不了? 之前对FEDERATED不了解,所以测试了一下,发现是可以的啊,主要是中间那个数据库要多加个中间表。反正都测试了就写出来记录一下: 目标:有数据库a、b、c,另b的fed_user表插入一条数据后,a的user,c的c_user 都同时插入数据;深入地,fed_user的更新、删除操作也需要进行同步。 没有多台机器的远程资源,测试为模拟,所以在本机操作,测试步骤: 1、数据库a创建表user CREATE TABLE `user` ( `uid` BIGINT(20) NOT NULL AUTO_INCREMENT, `user_name` char(17) DEFAULT NULL COMMENT '用户名', `user_pwd` char(32) DEFAULT NULL COMMENT '密码', PRIMARY KEY (`uid`) ) 2、数据库b创建fed_user表并FEDERATED连接a的user表 //密码有@不能使用该方法 CREATE TABLE `fed_user` ( `uid` BIGINT(20) NOT NULL AUTO_INCREMENT, `user_name` char(17) DEFAULT NULL COMMENT '用户名', `user

CentOS 7 安装 MySQL

a 夏天 提交于 2020-02-06 00:44:25
环境 CentOS 7.1 (64-bit system) MySQL 5.6.24 CentOS 安装 参考: http://www.waylau.com/centos-7-installation-and-configuration/ 依赖 MySQL 依赖 libaio,所以先要安装 libaio yum search libaio # 检索相关信息 yum install libaio # 安装依赖包 成功安装,提示如下: [root@bogon /] # yum install libaio 已加载插件: fastestmirror Loading mirror speeds from cached hostfile * base : mirrors .yun-idc .com * extras : mirrors .163 .com * updates : mirrors .163 .com 软件包 libaio-0 .3 .109-12 .el7 .x86_64 已安装并且是最新版本 无须任何处理 检查 MySQL 是否已安装 yum list installed | grep mysql 如果有,就先全部卸载,命令如下: yum -y remove mysql-libs .x86_64 若有多个依赖文件则依次卸载。当结果显示为 Complete!即卸载完毕。 下载