共计 4187 个字符,预计需要花费 11 分钟才能阅读完成。
这篇文章主要讲解了“常用的 mysql 命令汇总”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“常用的 mysql 命令汇总”吧!
一、连接 MySQL
格式:mysql -h 主机地址 -u 用户名 -p 用户密码
二、修改密码
格式:mysqladmin - u 用户名 - p 旧密码 password 新密码
三、增加新用户。
(注意:和上面不同,下面的因为是 MySQL 环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名 @登录主机 identified by 密码 [with grant option] 或者 [with admin option]
例 1、增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:
grant select,insert,update, delete on *.* to identified by abc
如果你不想 test2 有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb .* to identified by
with admin option 用于系统权限授权,with grant option 用于对象授权。
但给一个用户授予系统权限 带上 with admin option 时,此用户可把此系统权限授予其他用户或角色,但收回这个用户的系统权限时,这个用户已经授予其他用户或角色的此系统权限不会因传播无效,如授予 A 系统权 限 create session with admin option, 然后 A 又把 createsession 权限授予 B, 但管理员收回 A 的 create session 权限时,B 依然拥有 create session 的权限,但管理员可以显式收回 B create session 的权限,即直接 revoke create session from B.
而 with grantoption 用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用 with grant option 授权的用户对象权限时,权限会因传播而失效,如 grant select on table with grant option to A,A 用户把此权限授予 B,但管理员收回 A 的权限时,B 的权限也会失效,但管理员不可以直接收回 B 的 SELECT ONTABLE 权限。
如:GRANT ALLPRIVILEGES ON *.* TO IDENTIFIED BY rsquo;pwd rsquo; WITH GRANT OPTION;
四、删除用户授权 revokeall privileges on *.* from ”;
五、重命名表:
mysql alter table t1 rename t2;
六、备份数据库
shell mysqldump -h host -u root -pdbname dbname_backup.sql
恢复数据库
shell mysqladmin -h myhost -u root -pcreate dbname
shell mysqldump -h host -u root -pdbname dbname_backup.sql
如果只想卸出建表指令,则命令如下:
shell mysqladmin -u root -p -ddatabasename a.sql
如果只想卸出插入数据的 sql 命令,而不需要建表命令,则命令如下:
shell mysqladmin -u root -p -t databasename a.sql
那么如果我只想要数据,而不想要什么 sql 命令时,应该如何操作呢?
mysqldump-T./ test driver
其中,只有指定了 - T 参数才可以卸出纯文本文件,表示卸出数据的目录,./ 表示当前目录,即与 mysqldump 同一目录。如果不指定 driver 表,则将卸出整个的数据。每个表会生成两个文件,一个为.sql 文件,包含建表执行。另一个为.txt 文件,只包含数据,且没有 sql 指令。
七、可将查询存储在一个文件中并告诉从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件 my_file.sql 中存放有查
询,可如下执行这些查询:
例如,如果您想将建表语句提前写在 sql.txt 中:
mysql mysql -h myhost -u root -pdatabase sql.txt
七、1) 创建数据库 staffer
mysql create database staffer
2)创建表 create table
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
[PRIMARY KEY] [reference_definition]
or PRIMARY KEY (index_col_name,…)
or KEY [index_name] (index_col_name,…)
or INDEX [index_name] (index_col_name,…)
or UNIQUE [INDEX] [index_name] (index_col_name,…)
or [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,…)
[reference_definition]
or CHECK (expr)
col_name:表中列的名字。必须符合标识符规则,而且在表中要唯一。
type:列的数据类型。有的数据类型需要指明长度 n,并用括号括起。目前 MySQL 提供的数据类型详见 MySQL 进阶_列类型篇。
NOT NULL | NULL:指定该列是否允许为空。如果既不指定 NULL 也不指定 NOT NULL,列被认为指定了 NULL。
DEFAULT default_value:为列指定默认值。如果没有为列指定默认值,MySQL 自动地分配一个。如果列可以取 NULL 作为值,缺省值是 NULL。如果列被声明为 NOT NULL,缺省值取决于列类型:
1、对于没有声明 AUTO_INCREMENT 属性的数字类型,缺省值是 0。对于一个 AUTO_INCREMENT 列,缺省值是在顺序中的下一个值。
2、对于除 TIMESTAMP 的日期和时间类型,缺省值是该类型适当的“零”值。对于表中第一个 TIMESTAMP 列,缺省值是当前的日期和时间。
3、对于除 ENUM 的字符串类型,缺省是空字符串。对于 ENUM,缺省值是第一个枚举值。
AUTO_INCREMENT:设置该列有自增属性,只有整型列才能设置此属性。当你插入 NULL 值或 0 到一个 AUTO_INCREMENT 列中 时,列被设置为 value+1,在这里 value 是此前表中该列的最大值。AUTO_INCREMENT 顺序从 1 开始。每个表只能有一个 AUTO_INCREMENT 列,并且它必须被索引。
create table department
(
id int not null auto_increment,
name varchar(20) not null default 系统部 , #设定默认值
description varchar(100),
primary key PK_department (id) #设定主键
);
八、修改结构 alter 命令
mysql
#表 position 增加列 test
alter table positionadd(test char(10));
#表 position 修改列 test
alter table positionmodify test char(20) not null;
#表 position 修改列 test 默认值
alter table positionalter test set default system
#表 position 去掉 test 默认值
alter table positionalter test drop default;
#表 position 去掉列 test
alter table positiondrop column test;
#表 depart_pos 删除主键
alter table depart_posdrop primary key;
#表 depart_pos 增加主键
alter tabledepart_pos add primary key PK_depart_pos (department_id,position_id);
九、1: 使用 SHOW 语句找出在服务器上当前存在什么数据库:
mysql SHOW DATABASES;
2:2、创建一个数据库 MYSQLDATA
mysql Create DATABASE MYSQLDATA;
3: 选择你所创建的数据库
mysql USE MYSQLDATA; (按回车键出现 Database changed 时说明操作成功!)
4: 查看现在的数据库中存在什么表
mysql SHOW TABLES;
5: 创建一个数据库表
mysql Create TABLE MYTABLE (nameVARCHAR(20), sex CHAR(1));
6: 显示表的结构:
mysql DESCRIBE MYTABLE;
7: 往表中加入记录
mysql insert into MYTABLE values(hyq , M
8: 用文本方式将数据装入数据库表中(例如 D:/mysql.txt)
mysql LOAD DATA LOCAL INFILE D:/mysql.txt INTO TABLE MYTABLE;
9: 导入.sql 文件命令(例如 D:/mysql.sql)
mysql use database;
mysql source d:/mysql.sql;
10: 删除表
mysql drop TABLE MYTABLE;
11: 清空表
mysql delete from MYTABLE;
12: 更新表中数据 update 命令
mysql update MYTABLE setsex= f where name= hyq
感谢各位的阅读,以上就是“常用的 mysql 命令汇总”的内容了,经过本文的学习后,相信大家对常用的 mysql 命令汇总这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!