mysql-基本命令
启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库:show databases; 选择数据库:use databaseName; 列出表格:show tables; 显示表格列的属性:show columns from tableName; 建立数据库:source fileName.txt; 匹配字符:可以用通配符_代表任何一个字符,%代表任何字符串; 增加一个字段:alter table tabelName add column fieldName dateType; 增加多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType; 多行命令输入:注意不能将单词断开;当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中; 增加一个管理员帐户:grant all on *.* to user@localhost identified by "password"; 每条语句输入完毕后要在末尾填加分号';',或者填加'\g'也可以; 查询时间:select now(); 查询当前用户:select user(); 查询数据库版本:select version(); 查询当前使用的数据库:select database(); 1、删除student_course数据库中的students数据表: rm -f student_course/students.* 2、备份数据库:(将数据库test备份) mysqldump -u root -p test>c:\test.txt 备份表格:(备份test数据库下的mytable表格) mysqldump -u root -p test mytable>c:\test.txt 将备份数据导入到数据库:(导回test数据库) mysql -u root -p test 3、创建临时表:(建立临时表zengchao) create temporary table zengchao(name varchar(10)); 4、创建表是先判断表是否存在 create table if not exists students(……); 5、从已经有的表中复制表的结构 create table table2 select * from table1 where 1<>1; 6、复制表 create table table2 select * from table1; 7、对表重新命名 alter table table1 rename as table2; 8、修改列的类型 alter table table1 modify id int unsigned;//修改列id的类型为int unsigned alter table table1 change id sid int unsigned;//修改列id的名字为sid,而且把属性修改为int unsigned 9、创建索引 alter table table1 add index ind_id (id); create index ind_id on table1 (id); create unique index ind_id on table1 (id);//建立唯一性索引 10、删除索引 drop index idx_id on table1; alter table table1 drop index ind_id; 11、联合字符或者多个列(将列id与":"和列name和"="连接) select concat(id,':',name,'=') from students; 12、limit(选出10到20条)<第一个记录集的编号是0> select * from students order by id limit 9,10; 13、MySQL不支持的功能 事务,视图,外键和引用完整性,存储过程和触发器 14、MySQL会使用索引的操作符号 <,<=,>=,>,=,between,in,不带%或者_开头的like 15、使用索引的缺点 1)减慢增删改数据的速度; 2)占用磁盘空间; 3)增加查询优化器的负担; 当查询优化器生成执行计划时,会考虑索引,太多的索引会给查询优化器增加工作量,导致无法选择最优的查询方案; 16、分析索引效率 方法:在一般的SQL语句前加上explain; 分析结果的含义: 1)table:表名; 2)type:连接的类型,(ALL/Range/Ref)。其中ref是最理想的; 3)possible_keys:查询可以利用的索引名; 4)key:实际使用的索引; 5)key_len:索引中被使用部分的长度(字节); 6)ref:显示列名字或者"const"(不明白什么意思); 7)rows:显示MySQL认为在找到正确结果之前必须扫描的行数; 8)extra:MySQL的建议; 17、使用较短的定长列 1)尽可能使用较短的数据类型; 2)尽可能使用定长数据类型; a)用char代替varchar,固定长度的数据处理比变长的快些; b)对于频繁修改的表,磁盘容易形成碎片,从而影响数据库的整体性能; c)万一出现数据表崩溃,使用固定长度数据行的表更容易重新构造。使用固定长度的数据行,每个记录的开始位置都是固定记录长度的倍数,可以很容易被检测到,但是使用可变长度的数据行就不一定了; d)对于MyISAM类型的数据表,虽然转换成固定长度的数据列可以提高性能,但是占据的空间也大; 18、使用not null和enum 尽量将列定义为not null,这样可使数据的出来更快,所需的空间更少,而且在查询时,MySQL不需要检查是否存在特例,即null值,从而优化查询; 如果一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在系统内都是以标识数值来表示的; 19、使用optimize table 对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询性能。具有可变长的表都存在磁盘碎片问题,这个问题对blob数据类型更为突出,因为其尺寸变化非常大。可以通过使用optimize table来整理碎片,保证数据库性能不下降,优化那些受碎片影响的数据表。 optimize table可以用于MyISAM和BDB类型的数据表。实际上任何碎片整理方法都是用mysqldump来转存数据表,然后使用转存后的文件并重新建数据表; 20、使用procedure analyse() 可以使用procedure analyse()显示最佳类型的建议,使用很简单,在select语句后面加上procedure analyse()就可以了;例如: select * from students procedure analyse(); select * from students procedure analyse(16,256); 第二条语句要求procedure analyse()不要建议含有多于16个值,或者含有多于256字节的enum类型,如果没有限制,输出可能会很长; 21、使用查询缓存 1)查询缓存的工作方式: 第一次执行某条select语句时,服务器记住该查询的文本内容和查询结果,存储在缓存中,下次碰到这个语句时,直接从缓存中返回结果;当更新数据表后,该数据表的任何缓存查询都变成无效的,并且会被丢弃。 2)配置缓存参数: 变量:query_cache _type,查询缓存的操作模式。有3中模式,0:不缓存;1:缓存查询,除非与 select sql_no_cache开头;2:根据需要只缓存那些以select sql_cache开头的查询; query_cache_size:设置查询缓存的最大结果集的大小,比这个值大的不会被缓存。 22、调整硬件 1)在机器上装更多的内存; 2)增加更快的硬盘以减少I/O等待时间; 寻道时间是决定性能的主要因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快; 3)在不同的物理硬盘设备上重新分配磁盘活动; 如果可能,应将最繁忙的数据库存放在不同的物理设备上,这跟使用同一物理设备的不同分区是不同的,因为它们将争用相同的物理资源(磁头)。
转载于:https://www.cnblogs.com/zhengah/p/4532914.html
mysql-基本命令相关推荐
- mysql数据库语句q_mysql数据库命令大全,mysql基本命令大全
你知道mysql数据库命令都有哪些吗?下面的文章要给大家到来的就是一个mysql数据库命令大全,一起来了解一下吧! 1.命令行连接数据库 Windows操作系统进入CMD命令行,进入mysql.exe ...
- MySQL基本命令操作
一.MySQL基本命令操作 1.MySql服务开启关闭指令 服务关闭:net stop MySQL 服务关闭:net start MySQL 登陆:mysql -h localhost -P 3306 ...
- 运维常用Mysql基本命令
运维常用Mysql基本命令 基本命令 #远程连接 mysql -h hostname -u root -p #创建数据库 create database [databasename]; #列出所有数据 ...
- MySQL基本命令语法之select
目录 MySQL基本命令语法之select 查询去重以及常数 空值与着重号 着重号 空值 运算符 算术运算符 比较运算符 符号型 非符号型 逻辑运算符 优先级 排序分页 排序 分页 拓展 多表查询 等 ...
- mysql基本命令总结_mysql 常用基本命令总结
mysql 常用基本命令1.登录 MySQL服务器 mysql –h ip地址:端口(如果是3306可以省略) –u mysql用户名 -p mysql -h localhost:3306 -u ro ...
- mysql基本命令入门
背景 作为一个前端,重新学习后台相关知识,记录下自己遇到及用到的命令及爬坑经验. 基本命令 1.创建数据库 create database 数据库名称 eg: create database test ...
- 数据库基本概念及MySQL基本命令操作
目录: MySQL数据库管理(基本命令) (一).查看数据库结构 SQL语句: (二).创建及删除数据库和表 (三).管理表中的数据记录 (四).修改表名和表结构 MySQL数据库管理(基本命令) 数 ...
- mysql基本命令行
连接登录数据库 mysql -h 127.0.0.1 -P 3306 -u root -p123456 查看数据库 mysql> show databases; 进入数据库test mysql& ...
- 命令行客户端MySQL基本命令的使用(登录、登出、数据库操作的SQL语句、表结构的SQL语句、表数据操作的SQL语句)
1. 登录和登出数据库 登录数据库: 输入下面命令: mysql -uroot -p 说明: -u 后面是登录的用户名 [写成-u root也是可以的] -p 后面是登录密码, 如果不填写, 回车之 ...
- Mysql 基本命令
1, 检查系统是否已经安装了mysql或查看已经安装了何种版本 rpm –qa | grep mysql 或:rpm –q mysql 2, 查看当前mysql的状态:/etc/init.d/my ...
最新文章
- 大数据告诉你80、90后的真实负债
- 5月3日 条件语句、循环语句的复习练习
- 043_对象构造器和原型
- kafka linux客户端,kafka linux 客户端操作命令
- 树莓派2+无线网卡=钓鱼热点
- 深度学习:卷积层的实现
- 是什么包_包粽子教程,喜欢的收藏,以后想吃什么样的都可以自己包
- hadoop的web ui的8088端口打不开一例
- ABP vNext中使用开源日志面板 LogDashboard
- python矩形填充颜色_在Python中找到所有用0填充的矩形
- win10资源管理器怎么打开_让你效率倍增的电脑神器,最强资源管理器增强工具「QTTabBar」...
- android 圆形头像,自定义圆形ImageView
- python 播放声音_如何用Python播放声音?
- 数据结构--单链表single linked list(无表头哨兵)重写
- 猫和老鼠 蓝桥杯/手速/暴力练习赛(暴力搜索)
- python 数据库连接池_【转】Python 数据库连接池
- LoadDruidSegmentStep failed SQLException: Cannot load JDBC driver class ‘com.mysql.jdbc.Driver‘
- C++基础new和delete运算符,new和delete简介
- IOCAutofac与ORMEntityFramwork的联系--单例模式
- LAMP一键安装包是什么?
热门文章
- 心流:最优体验心理学
- UI中的响应时间:3个重要的界限
- V-1-2 登陆ESXi服务器
- docker从私有仓库Harbor, push 及 pull 镜像
- C标准库stdlib.h概况
- vagrant box php开发环境配置 -- 重新打包发布vagrant box
- HDU4716 A Computer Graphics Problem
- Tomcat虚拟目录配置
- SQL Server 2008杀数据库连接
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)