澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

顾客管理和权限设置,mysql常用命令

2019-10-30 作者:数据库网络   |   浏览(78)

一、管理用户

mysql 用户管理和权限设置

mysql 用户管理和权限设置的相关命令整理。

用户管理

mysql>use mysql;

查看

mysql>select host,user,password from user ;

创建

顾客管理和权限设置,mysql常用命令。mysql>create user zx_root;

修改

mysql>rename user feng to newuser; //mysql 5之后可以使用,之前需要使用update 更新user表

删除

mysql>drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

更改密码

mysql>set password for zx_root =password('xxxxxx');

mysql>update  mysql.user  set  password=password('xxxx')  where user='otheruser'
 
查看用户权限

mysql>show grants for zx_root;

赋予权限

mysql>grant select on dmc_db.*  to zx_root;

回收权限

mysql>revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错
 
上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔

mysql>grant select,update,delete  ,insert  on dmc_db.*  to  zx_root;

如果想立即看到结果使用

flush  privileges ;

命令更新 
 
设置权限时必须给出一下信息

1,要授予的权限

2,被授予访问权限的数据库或表

3,用户名

grant和revoke可以在几个层次上控制访问权限

1,整个服务器,使用 grant ALL  和revoke  ALL

2,整个数据库,使用on  database.*

3,特点表,使用on  database.table

4,特定的列

5,特定的存储过程
 
user表中host列的值的意义

%              匹配所有主机

localhost      localhost不会被解析成IP地址,直接通过UNIXsocket连接

127.0.0.1      会通过TCP/IP协议连接,并且只能在本机访问

::1            ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to [email protected]'%'

grant insert on testdb.* to [email protected]'%'

grant update on testdb.* to [email protected]'%'

grant delete on testdb.* to [email protected]'%'

或者,用一条 MySQL 命令来替代:

grant select, insert, update, delete on testdb.* to [email protected]'%'

9>.grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant create on testdb.* to [email protected]'192.168.0.%';

grant alter on testdb.* to [email protected]'192.168.0.%';

grant drop on testdb.* to [email protected]'192.168.0.%';

grant 操作 MySQL 外键权限。

grant references on testdb.* to [email protected]'192.168.0.%';

grant 操作 MySQL 临时表权限。

grant create temporary tables on testdb.* to [email protected]'192.168.0.%';

grant 操作 MySQL 索引权限。

grant index on testdb.* to [email protected]'192.168.0.%';

grant 操作 MySQL 视图、查看视图源代码 权限。

grant create view on testdb.* to [email protected]'192.168.0.%';

grant show view on testdb.* to [email protected]'192.168.0.%';

grant 操作 MySQL 存储过程、函数 权限。

grant create routine on testdb.* to [email protected]'192.168.0.%'; -- now, can show procedure status

grant alter routine on testdb.* to [email protected]'192.168.0.%'; -- now, you can drop a procedure

grant execute on testdb.* to [email protected]'192.168.0.%';

10>.grant 普通 DBA 管理某个 MySQL 数据库的权限。

grant all privileges on testdb to [email protected]'localhost'

其中,关键字 “privileges” 可以省略。

11>.grant 高级 DBA 管理 MySQL 中所有数据库的权限。

grant all on *.* to [email protected]'localhost'

12>.MySQL grant 权限,分别可以作用在多个层次上。

  1. grant 作用在整个 MySQL 服务器上:

grant select on *.* to [email protected]; -- dba 可以查询 MySQL 中所有数据库中的表。

grant all on *.* to [email protected]; -- dba 可以管理 MySQL 中的所有数据库

  1. grant 作用在单个数据库上:

grant select on testdb.* to [email protected]; -- dba 可以查询 testdb 中的表。

  1. grant 作用在单个数据表上:

grant select, insert, update, delete on testdb.orders to [email protected];

  1. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_澳门新萄京官方网站,log to [email protected];

  1. grant 作用在存储过程、函数上:

grant execute on procedure testdb.pr_add to 'dba'@'localhost'

grant execute on function testdb.fn_add to 'dba'@'localhost'

注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES。

用户管理和权限设置 mysql 用户管理和权限设置的相关命令整理。 用户管理 mysqluse mysql; 查看 mysqlselect host,user,password from user ; 创建 my...

本文实例讲述了MySQL用户权限验证与管理方法。分享给大家供大家参考,具体如下:

一:查询指定数据库中所有的表名

注:示例均在为具有所有操作权限的root用户操作

查看用户     

一、Mysql权限分两阶段验证

数据库名:test

1、用户操作相关类

use mysql;

  1. 服务器检查是否允许连接:用户名、密码,主机地址。

  2. 检查每一个请求是否有权限实施。

select table_name from information_schema.tables where table_schema='test'; 

1)创建用户

select user from user;

二、Mysql权限列表

如果想查询该schema下的所有信息,只要把table_name修改成 * 即可。

命令:create user '*username'@'host' identified by 'password*';

创建用户账号

权限 权限级别 权限说明
create 数据库、表或索引 创建数据库、表或索引权限
drop 数据库或表 删除数据库或表权限
grant option 数据库、表或保存的程序 赋予权限选项
references 数据库或表 外键权限
alter 更改表,比如添加字段、索引、修改字段等
delete 删除数据权限
index 索引权限
insert 插入权限
select 查询权限
update 更新权限
create view 视图 创建视图权限
show view 视图 查看视图权限
alter routine 存储过程 更改存储过程权限
create routine 存储过程 创建存储过程权限
execute 存储过程 执行存储过程权限
file 服务器主机上的文件访问 文件访问权限
create temporary tables 服务器管理 创建临时表权限
lock tables 服务器管理 锁表权限
create user 服务器管理 创建用户权限
proccess 服务器管理 查看进程权限
reload 服务器管理 执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限
replication client 服务器管理 复制权限
replication slave 服务器管理 复制权限
show databases 服务器管理 查看数据库权限
shutdown 服务器管理 关闭数据库权限
super 服务器管理 执行kill线程权限

 

说明:username - 你将创建的用户名,

create user 用户名 identified by ‘密码’

三、Mysql用户权限管理操作

二:查询表结构信息

host - 指定该用户在哪个主机上可以登陆,此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;

重命名用户名

1. 权限查询:

数据库名:test

password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。

rename user 原用户名 to 新用户名

(1)查看mysql的所有用户及其权限:

表名:employee

举例:

删除用户

select * from mysql.userG;

SELECT table_schema ,table_name ,column_name ,
column_type , data_type, column_comment FROM information_schema.COLUMNS where
TABLE_SCHEMA like 'test' and TABLE_NAME like  'employee';

mysql> create user 'test'@'localhost' identified by 'test';

drop user 用户名

(格式化显示)

 

Query OK, 0 rows affected

修改用户密码

(2)查看当前mysql用户权限:

三:查询表的创建语句

2)查看已创建用户

set password for 用户名=password('新密码')

show grants;

表名:employee

命令:select host,user from mysql.user;

update user set host = '%' where user ='root'; 设置是否远程登录

(3)查看某个用户的权限:

show create table employee;

举例:

二、查看用户访问权限,使用grant命令

show grants for 用户名@主机;

 

mysql> use mysql;

1.grant  权限 on 数据库名.数据表名 to 用户名

示例:

四:修改表中字段的描述COMMENT

mysql> select host,user from mysql.user;

注:权限包括select、insert、update、delete等

show grants for root@localhost;

顾客管理和权限设置,mysql常用命令。alter table employee modify id int comment '员工编号';

----------- -----------

2.查看 show grants for 用户名

2. Mysql用户创建:

 

| host | user |

3.授予用户所有权限 grant all on 数据库名.数据表名 to 用户名;

方法一:使用create user命令创建。

五:用户管理

----------- -----------

 三、撤销用户所有权限,使用revoke命令

create user '用户名'@'主机' identified by '密码';

mysql>use mysql;

| % | root |

1.revoke  权限 on 数据库名.数据表名 to 用户名

示例:

查看

| localhost | tangyuan1 |

2.撤销用户所有权限 revoke all on 数据库名.数据表名 from 用户名;

create user 'wjt'@'localhost' identified by 'wujuntian';

mysql> select host,user,password from user ;

| localhost | test |

四、控制访问权限的层次

方法二:直接向数据表mysql.user中插入一条用户记录。

创建

----------- -----------

整个数据库 :database.*;

示例:

mysql> create user  zx_root   IDENTIFIED by 'xxxxx';   //identified by 会将纯文本密码加密作为散列值存储

3 rows in set

特定数据表:database.table;

复制代码 代码如下:

修改

3)修改用户密码

特定列:

insert into mysql.user set user='wujuntian',host='localhost',password=password('123123');

mysql>rename   user  feng  to   newuser;//mysql 5之后可以使用,之前需要使用update 更新user表

命令:set password for '*username'@'host' = password('newpassword*')

特定存储过程。

注意:

删除

说明:

五、可授予和可以撤销的常用权限

使用方法二一定要记得要执行flush privileges刷新权限。其次,mysql5.7以后,mysql.user表的password字段已被authentication_string代替,所以应将“password”改为“authentication_string”,密码一定要使用password函数加密。

mysql>drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

username - 你修改的用户名,

权限 描述
all 除grant option外的所有权限
select 使用select
insert 使用insert
delete 使用delete
update 使用update
create 使用create table
create routing 使用create  procedure
create temporary tables 使用create temporary table
drop 使用drop table
lock tables 使用lock tables
create user 使用create user
create view 使用create view
index 使用create index和drop index
alter 使用alter table
alter routing 使用alter procedure 和drop procedure
execute  使用call和存储过程
show databases 使用show databases
show view 使用show create view
shutdown 使用mysqladmin shutdown 关闭mysql
process 使用show full processlist
reload 使用flash
perlication client f服务器位置的访问
perlication slave 由复制从属使用
usage 无访问权限

3. Mysql用户删除:

更改密码

host - 用户名设置的登录主机

 

drop user '用户名'@'主机';

mysql> set password for zx_root =password('xxxxxx');

newpassword - 新设置的密码

4. Mysql用户权限授予:

 mysql> update  mysql.user  set  password=password('xxxx')  where user='otheruser'

举例:将1)中创建的test用户密码修改为test1

刚创建的用户默认是没有权限的,需要使用grant指令进行权限的授予。

查看用户权限

mysql> set password for 'test'@'localhost' = password;

grant指令完整格式:

mysql> show grants for zx_root;

Query OK, 0 rows affected, 1 warning

grant 权限列表 on 数据库名.数据表名 to '用户名'@'主机' identified by '密码' with grant option;

赋予权限

4)授权用户权限

示例:

mysql> grant select on dmc_db.*  to zx_root;

命令:grant privileges on databasename**.tablename to 'username'@'host'**

grant all privileges on *.* to 'wjt'@'localhost' identified by "wujuntian" with grant option;

回收权限

说明:

可使用“*”表示所有数据库或所有数据表,“%”表示任何主机地址。

mysql> revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错

privileges - 用户的操作权限,如select,insert,update 等,如果要授予所的权限则使用all

可以使用grant重复给用户添加权限,进行权限叠加。

 

databasename - 数据库名

with grant option:这个选项表示该用户可以将自己拥有的权限授权给别人。

上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔

tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*

记得授权后一定要刷新权限:

mysql> grant select,update,delete  ,insert  on dmc_db.*  to  zx_root;

举例:给1)中创建的test用户服务所有数据库和表的全部操作权限

flush privileges;

如果想立即看到结果使用

mysql> grant all on *.* to 'test'@'localhost';

5. Mysql用户权限回收:

flush  privileges ;

Query OK, 0 rows affected, 1 warning

revoke指令格式:

命令更新 

mysql> flush privileges; #注:更新权限后必须执行flush privileges更新权限

revoke 权限列表 on 数据库名.数据表名 from 用户名@主机;

 

Query OK, 0 rows affected

示例:

设置权限时必须给出一下信息

5)查看用户权限

revoke select on test.user from wjt@localhost;

1,要授予的权限

命令:show grants for '*username'@'host'*

注意:

2,被授予访问权限的数据库或表

说明:

其实GRANT语句在执行的时候,如果权限表中不存在目标账号,则创建账号;如果已经存在,则执行权限的新增。

3,用户名

username - 待查询的用户名

usage权限不能被回收,也就是说,REVOKE用户权限并不能删除用户。

grant和revoke可以在几个层次上控制访问权限

host - 用户设置的登录主机,不写为%

6. 对账户重命名:

1,整个服务器,使用 grant ALL  和revoke  ALL

举例:查询3)修改密码后的1)用户test的操作权限

rename user '旧用户名'@'旧主机' to '新用户名'@'新主机';

2,整个数据库,使用on  database.*

mysql> show grants for test@'localhost';

示例:

3,特点表,使用on  database.table

---------------------------------------------------

rename user 'wujuntian'@'localhost' to 'ajun'@'localhost';

4,特定的列

| Grants for test@localhost |

7. Mysql用户密码修改:

5,特定的存储过程

---------------------------------------------------

方法一:使用set password命令。

 

| GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' |

set password for '用户名'@'主机' = password('新密码');

user表中host列的值的意义

---------------------------------------------------

示例:

%              匹配所有主机

1 row in set

set password for 'root'@'localhost' = password('123456');

localhost    localhost不会被解析成IP地址,直接通过UNIXsocket连接

6)撤销用户权限

方法二:修改mysql.user表中的password(或authentication_string)字段。

127.0.0.1      会通过TCP/IP协议连接,并且只能在本机访问;

命令:revoke privilege on databasename**.tablename from 'username'@'**host'

示例:

::1                 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

举例:撤销5)中设置的test用户权限

复制代码 代码如下:

 

mysql> revoke all on *.* from 'test'@'localhost';

update mysql.user set password=password('123123') where user='root' and host='localhost';

 

Query OK, 0 rows affected, 1 warning

注意:

grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

mysql> show grants for test@'localhost';

此方法一定要执行“flush privileges;”指令刷新权限,否则密码修改无法生效。Mysql5.7以后应将“password”改为“authentication_string”。

grant select on testdb.* to common_user@’%’

------------------------------------------

方法三:使用grant指令在授权时修改密码:

grant insert on testdb.* to common_user@’%’

| Grants for test@localhost |

grant select on 数据库名.数据表名 to 用户名@主机 identified by '新密码' with grant option;

grant update on testdb.* to common_user@’%’

------------------------------------------

示例:

grant delete on testdb.* to common_user@’%’

| GRANT USAGE ON *.* TO 'test'@'localhost' |

复制代码 代码如下:

或者,用一条 MySQL 命令来替代:

------------------------------------------

grant select on test.user to ajun@localhost identified by '111111' with grant option;

grant select, insert, update, delete on testdb.* to common_user@’%’

1 row in set

方法四:运行mysqladmin脚本文件。

9>.grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

7)删除用户

该文件一般在mysql安装目录下的bin目录中。进入该目录,根据一下两种具体情况输入命令(只有root用户有这个权限)。

grant 创建、修改、删除 MySQL 数据表结构权限。

命令:drop user 'username'@'host'

(1)用户尚无密码:

grant create on testdb.* to developer@’192.168.0.%’;

举例:删除1)中创建的test用户

mysqladmin -u 用户名 password 新密码;

grant alter on testdb.* to developer@’192.168.0.%’;

mysql> drop user 'test'@'localhost';

(2)用户已有密码:

grant drop on testdb.* to developer@’192.168.0.%’;

Query OK, 0 rows affected

mysqladmin -u 用户名 -p password 新密码;

grant 操作 MySQL 外键权限。

mysql> select host,user from mysql.user; #查看用户列表已经没有test用户

(回车后会提示输入旧密码,输入之后即可修改成功。)

grant references on testdb.* to developer@’192.168.0.%’;

----------- -----------

注意:

grant 操作 MySQL 临时表权限。

| host | user |

更改密码时候一定要使用PASSWORD函数(mysqladmin 和GRANT 两种方式不用写,会自动加上)。

grant create temporary tables on testdb.* to developer@’192.168.0.%’;

----------- -----------

8. 忘记密码登录mysql:

grant 操作 MySQL 索引权限。

| % | root |

方法一:

grant index on testdb.* to developer@’192.168.0.%’;

| localhost | tangyuan1 |

先停止正在运行的Mysql服务,在命令行窗口进入mysql安装目录下的bin目录,在-skip-grant-tables参数下运行mysqld文件(Linux系统运行mysqld_safe文件更安全):

grant 操作 MySQL 视图、查看视图源代码 权限。

----------- -----------

mysqld --skip-grant-tables

grant create view on testdb.* to developer@’192.168.0.%’;

2 rows in set

这样可以跳过Mysql的访问控制,在控制台以管理员的身份进入mysql数据库。另外再开启一个命令行窗口,进入mysql安装目录下的bin目录,直接输入:mysql,回车,即可登录mysql,然后就可以重新设置密码了(注意:此时“Mysql用户密码修改”中的四种方法只有第二种方法能使用!)。设置成功后退出,重启Mysql服务。

grant show view on testdb.* to developer@’192.168.0.%’;

mysql> shwo grants for test@'localhost'; #查看test用户权限失败

方法二:修改mysql配置文件my.ini。

grant 操作 MySQL 存储过程、函数 权限。

ERROR 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'shwo grants for test@'localhost'' at line 1

其实原理和方法一一样,都是利用Mysql提供的--skip-grant-tables参数来跳过Mysql的访问控制。打开mysql配置文件my.ini,在'[mysqld]'下加入“skip-grant-tables”,保存,重启Mysql服务,然后就可以不需密码登录mysql进行密码修改了。

grant create routine on testdb.* to developer@’192.168.0.%’; -- now, can show procedure status

2、数据库操作相关类

Mysql中的“mysql”数据库存储着所有Mysql用户的权限信息数据表。当Mysql启动时,所有的权限表内容都被读进内存中,进行权限判断时直接使用内存中的内容进行判断。用grant、revoke或set password对权限表进行的修改会立即被服务器注意到,GRANT操作的本质就是修改权限表后进行权限的刷新。但是如果手工修改权限表,例如使用insert、update、delete等操作权限表的话,应该执行一个flush privileges命令,该命令会使服务器重新读取权限表内容到内存,从而使修改生效。如果不执行该命令,必须重启mysql服务才能生效。所以,最好使用grant、revoke或set password对权限表进操作,可以省去执行flush privileges命令的麻烦,而且如果忘了执行这个命令的话你会很抓狂。。。

grant alter routine on testdb.* to developer@’192.168.0.%’; -- now, you can drop a procedure

1)创建数据库

不仅如此,删除用户、重命名用户最好也分别使用drop user、rename user命令进行操作,而不要使用delete、update命令进行操作。前者不但会对mysql.user数据表进行操作,同时也会更新其他权限表的记录,而后者只会对mysql.user表的数据进行操作,这样会出现很多问题,因为用户的权限信息不仅仅存在于mysql.user表中。比如你使用delete删除了mysql.user表中的一个用户,但是没有操作其他权限数据表的话,那么其他权限数据表例如tables_priv中关于该用户的权限记录还存在着,下次如果想使用create user命令创建相同名称的用户会失败,只能使用insert into指令向mysql.user表中插入记录,或者先把其他权限数据表中与该用户名相关的记录删除。使用update命令重命名用户也会出现很大问题,重命名后用户失去了很多的权限,而其他权限表中关于原用户名的记录则成了没用的记录,除非你对每一个权限表都进行相同的更新操作,但这很麻烦。所以,使用drop user、rename user吧,一个命令就可以让系统自动帮你完成所有事情,何乐而不为呢!

grant execute on testdb.* to developer@’192.168.0.%’;

命令:create database databasename

Mysql权限检查:

10>.grant 普通 DBA 管理某个 MySQL 数据库的权限。

说明:

mysql 先检查对大范围是否有权限,如果没有再到小范围里去检查。比如:先检查对这个数据库是否有select权限,如果有,就允许执行。如果没有,再检查对表是否有select权限,一直到最细粒度,也没有权限,就拒绝执行。因此,粒度控制越细,权限校验的步骤越多,性能越差。

grant all privileges on testdb to dba@’localhost’

databasename - 待创建的数据库名

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》

其中,关键字 “privileges” 可以省略。

举例:创建一个名为ttt的数据库

希望本文所述对大家MySQL数据库计有所帮助。

11>.grant 高级 DBA 管理 MySQL 中所有数据库的权限。

mysql> create database ttt;

您可能感兴趣的文章:

  • MySQL创建用户与授权及撤销用户权限方法
  • MySQL用户权限管理详解
  • mysql SKIP-NAME-RESOLVE 错误的使用时机造成用户权限
  • Windows下降权MYSQL和apche的运行级别(普通用户权限运行)
  • MySQL中导出用户权限设置的脚本分享
  • MySQL验证用户权限的方法
  • 在MySQL中增添新用户权限的方法
  • MySQL数据库下用户及用户权限配置
  • MySQL与Oracle 差异比较之七用户权限
  • MySQL 创建用户、授权用户、撤销用户权限、更改用户密码、删除用户(实用技巧)

grant all on *.* to dba@’localhost’

Query OK, 1 row affected

12>.MySQL grant 权限,分别可以作用在多个层次上。

2)查看已创建数据库

  1. grant 作用在整个 MySQL 服务器上:

命令:show databases

grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。

举例:

grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库

mysql> show databases;

  1. grant 作用在单个数据库上:

--------------------

grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。

| Database |

  1. grant 作用在单个数据表上:

--------------------

grant select, insert, update, delete on testdb.orders to dba@localhost;

| information_schema |

  1. grant 作用在表中的列上:

| mysql |

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

| one250 |

  1. grant 作用在存储过程、函数上:

| performance_schema |

grant execute on procedure testdb.pr_add to ’dba’@’localhost’

| sys |

grant execute on function testdb.fn_add to ’dba’@’localhost’

| ttt |

注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES。

--------------------

 

6 rows in set

 

3)连接数据库

 

命令:use databasename

 

举例:连接2)中创建的ttt数据库

 

mysql> use ttt;

 

Database changed

4)打印当前连接数据库

命令:select database()

举例:

mysql> select database();

------------

| database() |

------------

| ttt |

------------

1 row in set

5)删除数据库

命令:drop database databasename

说明:

database name- 待删除的数据库名

举例:删除1)中创建的ttt数据库

mysql> drop database ttt;

Query OK, 0 rows affected

mysql> show databases; #查看数据库列表,ttt数据库已经被删除

--------------------

| Database |

--------------------

| information_schema |

| mysql |

| one250 |

| performance_schema |

| sys |

--------------------

5 rows in set

3、数据表操作相关类

1)创建数据表

命令:create table tablename ( <attribute name 1> <type 1> [,..<attribute name n> <type n>])

说明:

tablename - 待创建的数据表名

attribute name - 属性名

type - 类型

举例:为ttt数据库创建一个名为tb_temp1的数据表

mysql> use ttt; #使用ttt数据库

Database changed

mysql> create table tb_temp1 ,name varchar,salary float);

Query OK, 0 rows affected

2)查看创建数据表

命令:show tables

举例:

mysql> show tables;

---------------

| Tables_in_ttt |

---------------

| tb_temp1 |

---------------

1 row in set

3)数据表插入数据

命令:insert into*tablename (attribute name 1,attribute name 2,...) value (value 1, value 2,...*)

说明:

tablename - 待插入数据的数据表名

attribute name - 属性名

value - 插入对应属性的值

举例:

A、对表中的所有属性名插入值

对1)中创建的tb_temp1数据表,插入id=1,name="test",salary=10000的值

mysql> insert into tb_temp1 (id,name,salary) value (1,'test',10000);

Query OK, 1 row affected

B、对表中指定属性名插入值

对1)中创建的tb_temp1数据表,插入name="test1",salary=11000的值

mysql> insert into tb_temp1 (name,salary) value ('test1',11000);

Query OK, 1 row affected

C、对表同时插入多条数据

命令:insert into*tablename (attribute name 1,attribute name 2,...)value (value 10,value 20,...*), (value11, value21)

说明:

tablename - 待插入数据的数据表名

attribute name - 属性名

value - 插入对应属性的值

举例:对1)中创建的tb_temp1同时插入id=3,name='test2',salary=12000和id=4,name='test3',salary=13000的数据

mysql> insert into tb_temp1 (id,name,salary) value (3,'test2',12000), (4,'test3',13000);

Query OK, 2 rows affected

Records: 2 Duplicates: 0 Warnings: 0

4)查看数据表中的数据

命令: select <attribute name 1,attribute name 2,...> from < tablename> where <expression >

说明:

attribute name - 属性名

tablename - 待查数据表名

expression - 表达式

查询数据表的所有数据命令为:select * from tablename

举例1:查询1)中创建的tb_temp1数据表中的所有数据

mysql> select * from tb_temp1;

------ ------- --------

| id | name | salary |

------ ------- --------

| 1 | test | 10000 |

| NULL | test1 | 11000 |

| 3 | test2 | 12000 |

| 4 | test3 | 13000 |

------ ------- --------

4 rows in set

举例2:查询1)中创建的tb_temp1数据表id=1的所有数据

mysql> select * from tb_temp1 where id=1;

------ ------ --------

| id | name | salary |

------ ------ --------

| 1 | test | 10000 |

------ ------ --------

1 row in set

5)更新数据表中的数据

命令:update tablename set attribute name 1=value 1,attribute name 2=value 2, ... where conditions

说明:

tablename - 待更新的数据表名

attribute name - 属性名

value - 属性值

conditions - 满足更新的条件

举例:更新1)中tb_temp1数据表满足id=1的name属性值为id1

mysql> update tb_temp1 set name='id1' where id=1;

Query OK, 1 row affected

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from tb_temp1 where id=1;

------ ------ --------

| id | name | salary |

------ ------ --------

| 1 | id1 | 10000 |

------ ------ --------

1 row in set

6)增加数据表中的属性名

命令:alter table*tablenameaddattribute name ** typeothers*

说明:

others - 其他

举例:向1)中的tb_temp1数据表增加名为sex的属性,默认为'male'

mysql> alter table tb_temp1 add sex varchar default 'male';

Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

mysql> select * from tb_temp1;

------ ------- -------- ------

| id | name | salary | sex |

------ ------- -------- ------

| 1 | id1 | 10000 | male |

| NULL | test1 | 11000 | male |

| 3 | test2 | 12000 | male |

| 4 | test3 | 13000 | male |

------ ------- -------- ------

3 rows in set

7)清空数据表

命令:truncate table tablename

举例:清空1)中的数据表tb_temp1

mysql> truncate table tb_temp1;

Query OK, 0 rows affected

mysql> select * from tb_temp1;

Empty set

8)删除数据表中的数据

命令:delete from*tablename where conditions*

说明:

tablename - 数据表名

conditions - 满足删除的条件

举例:删除1)tb_temp1中,id=4的数据

mysql> delete from tb_temp1 where id=4;

Query OK, 1 row affected

mysql> select * from tb_temp1;

------ ------- --------

| id | name | salary |

------ ------- --------

| 1 | id1 | 10000 |

| NULL | test1 | 11000 |

| 3 | test2 | 12000 |

------ ------- --------

3 rows in set

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:顾客管理和权限设置,mysql常用命令

关键词: