mysql 命令(如何使用mysql命令行)
本文目录
如何使用mysql命令行
方法/步骤1登陆mysql打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令mysql -uroot 直接回车,之后按提示输入密码,如果未添加mysql的环境变量,可以切换到mysql的安装目录下的bin目录,再使用mysq -uroot你也可以手动为mysql添加环境变量。这里就不介绍怎么添加环境变量的方法了密码输入正确之后,就会出现“Welcome to the MySQL monitor. Commands end with ; or \g. ......”字样,命令行出现“mysql》”字符前缀。现在你就可以使用命令对mysql进行操作了。曾经有没有过这样的经历,原来看见别人在命令行里面咔咔的猛敲时,就一通的崇拜,觉得这人很牛,现在你也可以让别一通崇拜了。mysql的所有命令都以";"或者\g为结束符2新建数据库在新建数据库之后,我们先设置一下字符集mysql》SET NAMES utf8;然后再创建数据库mysql》CREATE DATABASE lesson3显示所有数据库mysql》SHOW DATABASES;4使用数据库mysql》USE 数据库名;5新建表mysql》CREATE TABLE study( id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ’学生id号’, username varchar(30) NOT NULL DEFAULT ’’ COMMENT ’学生名字’, class tinyint(3) unsigned NOT NULL, sex enum(’男’,’女’,’保密’) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ’保密’ COMMENT ’性别’, addtime int(10) NOT NULL DEFAULT ’0’, PRIMARY KEY (id))ENGINE=InnoDB COMMENT = ’学生表’;6显示所有表mysql》SHOW TABLES;7 修改表的名称 mysql》RENAME TABLE study TO study_new ;或者mysql》ALTER TABLE study_new RENAME TO study;8显示字段信息 SHOW COLUMNS FROM study或者DESCRIBE study9插入数据mysql》 insert into study (username,class,sex)VALUES(’小王’,1,’男’),(’小四’,2,’女’);10查询数据(使concat函数拼接数据)mysql》 SELECT username,CONCAT(class,’班’),sex FROM study;11删除数据mysql》DELETE FROM study WHERE id=1;12删除数据表DROP TABLE study;13删除数据库mysql》 DROP DATABASE lesson;http://jingyan.baidu.com/article/5bbb5a1b2b110213eba179d2.html
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)在不同的物理硬盘设备上重新分配磁盘活动; 如果可能,应将最繁忙的数据库存放在不同的物理设备上,这跟使用同一物理设备的不同分区是不同的,因为它们将争用相同的物理资源(磁头)。
mysql常用查询命令
1. SELECT:查询内容,语法:SELECT 列名称 FROM 表名称2. SELECT DISTINCT 查询非重复内容,语法:SELECT DISTINCT 列名称 FROM 表名称3. WHERE 查询条件, 子句中可以指定任何条件,条件与条件之间用and 和 or 隔开 语法:SELECT 列名称 FROM 表名称 WHERE条件1 AND 条件24. AND 和 OR 运算符,将 WHERE 中的多个条件结合起来。操作符包括:=(等于)、《》或=!(不等于)、》(大于)、《(小于)、》=(大于等于)、《=(小于等于) 空值条件:IS NULL;非空值IS NOT NULL;查询多个值IN()5. ORDER BY 排序,默认为升序,字段后加DESC为降序6. GROUP BY 分组 ,对结果进行分组7. LEFT JOIN 左连接,两张表合并保留左表的全部内容,只要掌握左连接 语法:SELECT列名称 FROM 表1 LEFT JOIN 表2 ON 表1.某列 = 表2.某列了解:RIGHT JOIN(右连接),INNER JOIN(内连接)、FULL JOIN(全连接) 8. UNION all上下合并,两张表上下合并(了解)9. LIKE 模糊查询(了解)语法: SELECT 列名称 FROM 表名称 WHERE 某列 like “%字符%”10.SUM 求和 语法:SELECT SUM(列名称) FROM 表名称11. COUNT 计数 语法:SELECT COUNT(列名称) FROM 表名称12. IF 判断 语法:同excel13. MIN,MAX等14. round 四舍五入15. concat 字符串连接16. UPDATE:修改内容,语法:update 表名 set 修改字段= 新内容 where 修改条件17. substring 字符串截取18. cast 定义数值类型(了解)19. CASE … WHEN … THEN …. END 满足某一个条件时执行/替换,可用于条件计数20. DATEDIFF 两个日期之间间隔的天数21. SUBDATE 日期往前数 ,语法:SUBDATE(date,INTERVAL expr unit) 例子:SUBDATE(“2018-10-1”,INTERVAL 1 day) 代表10月1日往前数1天,结果是9月30;SUBDATE(“2018-10-1”,INTERVAL 1 month) 代表10月1日往前数1月,结果是2018-9-1
mysql删除表命令
1.点击左下角开始菜单按钮2.在开始菜单下方搜索框中搜索cmd3.敲下回车键,打开cmd窗口4.输入mysql -u root -p命令,然后回车5.提示输入密码,输入正确的密码,进入mysql命令行6.切换到指定的数据库,然后使用show tables;命令展示所有表7.删除表的命令格式为DROP TABLE 《table_name》
MySQL 数据库常用命令 简单超级实用版
1、MySQL常用命令createdatabasename;创建数据库usedatabasename;选择数据库dropdatabasename直接删除数据库,不提醒showtables;显示表describetablename;表的详细描述select中加上distinct去除重复字段mysqladmindropdatabasename删除数据库前,有提示。显示当前mysql版本和当前日期selectversion(),current_date;2、修改mysql中root的密码:shell》mysql-uroot-pmysql》updateusersetpassword=password(”xueok654123″)whereuser=’root’;mysql》flushprivileges//刷新数据库mysql》usedbname;打开数据库:mysql》showdatabases;显示所有数据库mysql》showtables;显示数据库mysql中所有的表:先usemysql;然后mysql》describeuser;显示表mysql数据库中user表的列信息);3、grant创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个mysql》grantallprivilegeson*.*touser@localhostidentifiedby’something’with增加新用户格式:grantselecton数据库.*to用户名@登录主机identifiedby“密码”GRANTALLPRIVILEGESON*.*TOmonty@localhostIDENTIFIEDBY’something’WITHGRANTOPTION;GRANTALLPRIVILEGESON*.*TOmonty@”%”IDENTIFIEDBY’something’WITHGRANTOPTION;删除授权:mysql》revokeallprivilegeson*.*fromroot@”%”;mysql》deletefromuserwhereuser=”root”andhost=”%”;mysql》flushprivileges;创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandbmysql》grantselect,insert,update,delete,create,droponfangchandb.*tocustom@it363.comidentifiedby‘passwd’重命名表:mysql》altertablet1renamet2;4、mysqldump备份数据库shell》mysqldump-hhost-uroot-pdbname》dbname_backup.sql恢复数据库shell》mysqladmin-hmyhost-uroot-pcreatedbnameshell》mysqldump-hhost-uroot-pdbname《dbname_backup.sql如果只想卸出建表指令,则命令如下:shell》mysqladmin-uroot-p-ddatabasename》a.sql如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:shell》mysqladmin-uroot-p-tdatabasename》a.sql那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢? mysqldump-T./phptestdriver其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql中存放有查询,可如下执行这些查询:例如,如果您想将建表语句提前写在sql.txt中:mysql》mysql-hmyhost-uroot-pdatabase《sql.txt
本文相关文章:
向程序发送命令时出现问题 excel(电脑显示向程序发送命令出现问题)
2024年7月15日 17:18
我的世界防爆指令(我的世界死亡不掉落和苦力怕爆炸不破坏方块的指令(不要命令方块的))
2023年11月11日 07:50
更多文章:
dsm_gm mrp(关于手机使用dsm_gm.mrp的问题)
2024年5月3日 15:35
成都本地比较专业的婚介交友网站有哪些?有谁知道太原交友是哪个呀,网上太多了,我想找个本地的太原交友网
2024年9月7日 12:45
瑞昱网卡驱动官网(请问Realtek官网的网卡驱动在哪里下载我在官网没找到啊!)
2024年8月29日 17:30
sharepoint是什么(sharepoint是什么意思)
2024年6月5日 12:55
网页迅雷怎么调成普通迅雷的?网页版的迅雷下载目录在哪里啊如题 谢谢了
2024年6月21日 12:47
国泰君安证券软件下载(香港国泰君安证券的软件下载地址是多少啊)
2024年6月9日 04:06
映美fp530k+ win10 64位驱动?映美官网售后人工电话
2024年5月28日 15:47