1.使用\G参数改变输出结果集的显示方式
select * from test \G (不用分号)
注意:\G为大写字母,不可使用小写;使用\G参数后,SQL语句后可以不加分隔符,如果加分隔符,则会报“error:no query specified”的错误。(在mysql的客户端是使用不了的,因为需要分号结尾在客户端,例如navicate)
同理:这样的显示效果与MYSQL命令的-E参数是一样的。使用-E参数后,结果集默认以列的方式显示:mysql -uroot -E
2.登录mysql的命令:mysql --default-character-set=utf8 -h10.10.9.149 -ubicloud -p :使用 --default-character-set=utf8 参数登录mysql 跟 登录后使用 set names utf8 (也就是 set character_set_results=utf8,设置终端字符集) 来设置默认显示的字符集 一样
3.用户权限命令
3.1 查看某用户权限:show grants for 用户名@主机 显示的是每一次授予权限
3.2 给予权限:grant select,update on 数据库.表名 to 用户名@主机 (all的表示所有,数据库.*表示所有表)
例如: grant all on *.* to 'test'@'localhost' identified by '新/旧密码' with grant option
其中:identified by设置密码
with grant option:使该用户也拥有grant权限,能给别的用户设置权限
3.3 删除权限:revoke select on 数据库.表名 fom 用户名@主机
4. 基本查看操作:
4.0 查看mysql库的字符集 : show variables like "%char%"
查看某个库的字符集: show create database 库名
查看某个表的字符集: show create table 表名
查看某个表的字段的字符集:show full columns from 表名
4.1 查看库中表的具体情况(包括记录数,大小等):show table status from 库名 like "%表名%";
4.2 查看字段所有属性设置:show full columns from 表名( desc 表名 和 show columns from 表名 只是查看部分 )
4.3 查看当前进入的数据库:select database();
4.4 插入一个字段:alter table 表名 add 字段名 int(11) not null default '1' comment '这里是说明';
4.5 插入多个字段:alter table 表名 add 字段名 int(11) not null default '1', add 字段名2 char(30) ;
4.6 修改字段方式:alter table 表名 modify 字段名 int(9) not nul default '2'
alter table 表明 change 旧字段名 新字段名 int(11) not null default '1';
(ps: 这两种方式都需要把字段设置的属性都写上,第二种则有修改字段名的功能)
4.7 删除字段:alter table 表名 drop 字段名
4.8.修改表名:alter table 旧表名 rename 新表名
5.0 复制表的结构和数据,从而创建表:create table 表名 select * from 要复制的表名
5.1 只复制表结构,从而创建表:create table 表名 like 要复制的表名
5.2 修改表的注释说明:alter table 表名 comment "注释的内容"
5.3 查看表大小和表索引大小:select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB from information_schema.tables where table_schema='库名' and table_name = '表名';
5. 当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;
当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集; 在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集; 当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集
5.1 创建数据库且指定库的默认字符
create database test character set utf8;
5.2 修改库的字符集
alter database 库名 character set utf8; (修改了库的字符集,表的字段字符集是不会跟随变化的)
5.3 修改表的字段的字符集
alter table 表名 default character set utf8/gb2312:修改表的默认 字符集,但是该修改只针对新增加的字段有效,旧字段依然用未修改前的字符集。
alter table 表名 convert to character set utf8/gb2312:该修改字 符集对表的所有字段有效
5.4 影响插入数据乱码的字符集有3个:终端字符集,库字符集,字段字符集 ,需要三者保持一致才行
终端字符集:character_set_client 和 character_set_connection 和 character_set_result(可通过set names 字符集 来设置)
库字符集: character_set_database
字段字符集 :通过 show full columns from 表名 命名后,显示的collation列中查看
6.索引创建
6.1.查看表的索引
show index from 表名
show keys from 表名
其中:
Table: 表的名称
Non_unique: 如果索引不能包括重复词,则为0。如果可以,则为1。
Key_name: 索引的名称。
Seq_in_index:索引中的列序列号,从1开始。
Column_name: 列名称。
Collation: 列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。
Cardinality: 索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机会就越大。
Sub_part: 如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
Packed: 指示关键字如何被压缩。如果没有被压缩,则为NULL。
Null: 如果列含有NULL,则含有YES。如果没有,则该列含有NO。
Index_type: 使用的索引类型(BTREE, FULLTEXT, HASH, RTREE)。
Comment: 索引说明。
6.2.创建索引2种语句
第一种:alter table 表名 add index 索引名称(字段名);
第二种:create index 索引名称 on 表名(字段名(索引长度)) //char和vachar类型是可以用字段的部分长度作为索引的,blog和text类型的,如果建立索引,就必须给予这个长度,不能够省略
唯一索引
alert table 表名 add unique index 索引名称(索引字段):它与普通索引类似,但不同的是,其索引列的值必须唯一,但允许有空值
主键
alter table 表名 add primary key 字段名: 它是一种特殊的唯一索引,且不允许有空值。一个表只能有一个主键索引。
多列主键:
alter table 表名 add primary key (字段1,字段2,.......)
组合索引
alter table 表名 add index 索引名称(字段1,字段2....)
create index 索引名称 on 表名(字段1,字段2...)
6.3 删除普通索引:
alter table 表名 drop index 索引名称
删除唯一索引:(注意:删除主键(主键是一种特殊的唯一索引)前如果该字段存在自增,则需要先删除自增属性,且一个表只能有一个字段为自增属性) alter table 表名 drop index 索引名称
删除主键:(注意:删除主键前如果该字段存在自增,则需要先删除自增属性,且一个表只能有一个字段为自增属性) alter table 表名 drop primary key
删除外键:(并非所有的存储引擎都支持外键索引,需注意)
alter table 表名 drop foreign key 外键名 (注意:使用该命令删除了外键后,该字段还是一个普通索引,需要再使用删除普通索引的命令进行清除)
7. 在查询语句没有输入完整前,如果不想继续执行,可使用 \c 来中断查询
8. 修改mysql的root密码:
8.1 在未进入mysql前使用以下命令: mysqladmin -uroot -p password 新密码, 会提示输入密码,输入的是旧的密码 (其中新密码需要使用双引号包起来)
8.2 进入mysql后,修改mysql库中的user表中root用户的Password字段的值,然后使用 flush privileges语句来重新装载user表的数据
例如:update mysql.user set Password = password("新密码") where User = "root" and Host = "localhost";
8.3 使用set语句修改root密码:set password = password("新密码");
9. root修改其他用户密码:
9.1 使用set语句:set password for '用户名'@'主机名' = password("新密码");
9.2 使用update语句更新mysql库的user中对应用户的Password字段,然后再用flush privilege语句
例如:update mysql.user set Password = password("新密码") where User = "root" and Host = "localhost";
10. 非root用户修改自己的密码:进入mysql后,使用set语句:set password for '用户名'@'主机名' = password("新密码");
11. 使用mysqldump命令备份
11.1 备份一个数据库:
mysql -u用户名 -p 数据库名 表名1 表名2 ... > 路径+文件名.后缀
例如:mysqldump -uroot -p bicloud bi_ad bi_business > /home/www/sql_bak/bi_ad_business.sql
11.2 备份多个数据库(也就是备份不同数据库中的所有表)
mysqldump -u用户名 -p --databases 数据库名1 数据库名2 .... > 路径+文件名.后缀
11.3 备份所有的数据库
mysqldump -u用户名 -p --all-databases > 路径+文件名.后缀
11.4 复制整个数据库目录,但该方法只对myisam类型引擎的数据表有效
12. 数据库表的还原(一般是针对mysqldump备份后的)
12.1 mysql -u用户名 -p 数据库名 < 路径+备份文件 (其中数据库名不是必须的,如果在还原所有数据库时候,就不需要)
13. 将数据表的数据导出到文本文件中
13.1 进入mysql后,使用:select ... into outfile '文件名.后缀' [option](select部分是正常的mysql语句查询出的结果, 该语句后面还可以带一些参数,具体查询相关资料), 保存的文件一般是保存在数据库目录下对应的数据库文件夹中,比如通过yum安装的mysql的默认数据库目录是/var/lib/mysql/,该目录下对应的文件夹是各个数据库
13.2 mysqldump -u用户名 -p用户密码 -T 存放的路径 数据库名 表名 既能保存表的“所有记录”到文本,同时生成含有sql语句的文件
例如:mysqldump -uroot -pajia123 -T /var/lib/mysql/test/ test user
13.3 使用mysql命令:mysql -u用户名 -p密码 -e "select语句" 数据库名 > 路径+文件名
例如:mysql -uroot -pajia123 -e "select * from test.user" test > /home/ajia/mysql_outfile_dir/user.txt
14. 导入文本文件到数据库中
14.1 load data infile 文件 into table 表名 [option]
14.2 mysqlimport -u用户名 -p用户密码 数据库名 文本文件 [option]
例如:mysqlimport -uroot -pajia123 test /home/ajia/mysql_outfile_dir/user.txt
在导入文本文件时候要确保每条数据间的分隔号是否跟导出该文本文件时候是一致的,不然就需要使用option选项来设置保持
分享到:
相关推荐
mysql常用操作命令 mysql是一个流行的关系数据库管理系统,作为开发人员,掌握mysql的常用操作命令是非常必要的。本文将对mysql的常用操作命令进行总结,包括连接mysql、查询版本信息、查询当前日期、查询服务器中...
MySQL常用操作命令 MySQL是一种关系数据库管理系统,常用于各种应用程序的数据存储和管理。本文将介绍MySQL常用的操作命令,包括启动MySQL服务器、进入交互操作界面、退出交互操作界面、执行基本的SELECT命令、使用...
### MySQL常用操作命令详解 #### 一、启动与退出 **1. 进入MySQL:** 对于新手而言,了解如何进入MySQL至关重要。通过SSH连接到服务器后,可以通过以下命令来连接MySQL服务: ```sql mysql -u 用户名 -p ```...
### Linux下MySQL常用操作命令总结 #### 一、MySQL登录与退出 在Linux环境下操作MySQL时,首先需要确保MySQL服务已经正确安装并且运行。登录MySQL可以通过以下方式: 1. **定位MySQL目录**:通常MySQL的数据文件...
DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意 . MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符 mysql> 、
学习并掌握MySQL的常用操作命令对于系统管理员和开发者来说至关重要。以下是一些基本的MySQL命令及其使用: **一、安装连接MySQL** 首先,你需要检查MySQL是否已经安装在你的Linux系统上。可以使用`rpm -qa | grep...
MySQL入门常用操作命令收集,集合的mysql中常用的命令操作方法
MySQL 命令行常用命令是 MySQL 数据库管理员和开发者需要掌握的基本技能,本文将介绍 MySQL 命令行常用命令的六大招数,包括 MySQL 服务的启动和停止、登陆 MySQL、增加新用户、操作数据库、导出和导入数据、乱码...
以上就是从“MYSQL常用命令教程”中提炼出来的关键知识点,涵盖了MySQL服务控制、连接管理、用户管理、数据库操作、数据表操作、数据操作以及数据导入导出等方面的核心命令。熟练掌握这些命令,对于日常开发工作及...
本文汇总了MySQL数据库常用的命令,包括数据库操作、表操作和数据操作三部分。 数据库操作 1. 数据库验证连接:使用mysql.exe命令连接到数据库,需要指定主机地址、端口号、用户名和密码,例如:`mysql.exe -h ...
以下是一些关于操作MySQL数据库的常用命令的详细说明: 1. **连接MySQL**:使用`mysql -u 用户名 -p`命令可以连接到MySQL服务器,其中`-u`指定用户名,`-p`会提示输入密码。例如,连接名为root的用户,命令是`mysql...
根据提供的标题、描述以及部分内容,我们可以总结出一系列MySQL数据库中的常用命令及操作。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),因其高效性、可靠性和灵活性而在多种应用场景中受到青睐。下面将...
根据提供的标题、描述以及部分内容,本文将详细解析MySQL数据库中的常用命令,并且涵盖数据库的创建、管理、查询、更新等核心操作。 ### MySQL 常用命令概览 #### 启动与停止 MySQL 服务 - **启动 MySQL 服务**: ...
### MySQL常用命令总结 本文将基于提供的部分内容对MySQL的基本操作命令进行详细解析,这些命令涵盖了数据库及表的基本管理,如创建、查询、更新等。掌握这些命令有助于更好地管理和操作MySQL数据库。 #### 一、...
MySQL常用命令集锦--初级DBA MySQL是当前最流行的开源关系数据库管理系统,本文将总结一些常用的MySQL命令,适合初级DBA学习和工作。 一、MySQL服务的启动和停止 MySQL服务的启动和停止命令如下: * ...
以上内容仅是MySQL命令的简要介绍,实际操作中还有许多其他高级功能和选项,如索引、视图、触发器、存储过程等,需要根据具体需求深入学习。掌握这些基本命令,能帮助你有效地管理和维护MySQL数据库。