文章目录

1、添加用户

2、修改密码

3、修改登录的ip,让那个ip可以登录

4. 删除用户

5. 列出所有数据库

6. 切换数据库

7. 列出所有表

8. 显示数据表结构

9. 删除数据库和数据表

10.表操作

建表

获取表结构

删除表

插入数据

查询表中的数据

查询前几行数据

删除表中数据

修改表中数据

在表中增加字段

更改表名

更新字段内容

1、添加用户

1.1 登录MYSQL:

@>mysql -u root -p

@>密码

创建用户:

格式:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

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

host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%

例子:

CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456';
CREATE USER 'javacui'@'%' IDENTIFIED BY '123456';
CREATE USER 'javacui'@'%' IDENTIFIED BY '';
CREATE USER 'javacui'@'%';

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

授权(必须先创建用户才能再授权,直接授权会报错)

格式:GRANT privileges ON databasename.tablename TO 'username'@'host';

privileges – 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所 的权限则使用ALL说明:

databasename – 数据库名

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

举例:

授权SELECT,INSERT

GRANT SELECT, INSERT ON test.user TO 'javacui'@'%';

授权查询、插入、修改、删除的权限

GRANT SELECT, INSERT, UPDATE, DELETE ON test.user TO 'javacui'@'%';

授权全部权限ALL

GRANT ALL ON *.* TO 'javacui'@'%';
FLUSH PRIVILEGES;

#注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。

#如果想远程登录的话,将"localhost"改为"%",

#表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

撤销用户权限

REVOKE privileges ON databasename.tablename FROM 'username'@'host';

例子说明: privilege, databasename, tablename – 同授权部分

REVOKE SELECT ON *.* FROM 'javacui'@'%';

2、修改密码

方法一:

设置与更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户用

SET PASSWORD = PASSWORD("newpassword");

方法二:

用UPDATE直接编辑user表

mysql -u root -p 密码
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
mysqld_safe --skip-grant-tables&
mysql -u root -p
mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;

3、修改登录的ip,让那个ip可以登录

方法一:

改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二:

授权法。

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

修改登录的ip更多请参考数据库可以远程连接或者说用IP地址可以访问

4. 删除用户

@>mysql -u root -p
@>密码
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB; //删除用户的数据库

删除账户及权限:

>drop user 用户名@'%';
>drop user 用户名@ localhost;

5. 列出所有数据库

mysql>show database;

6. 切换数据库

mysql>use '数据库名';

7. 列出所有表

mysql>show tables;

8. 显示数据表结构

mysql>describe 表名;

9. 删除数据库和数据表

mysql>drop database 数据库名;
mysql>drop table 数据表名;

10.表操作

建表

备注:操作之前使用“use ”应连接某个数据库。

命令:create table ( [,.. ]);

例子:

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));

获取表结构

命令: desc 表名,或者show columns from 表名

例子:

mysql> describe MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;

删除表

命令:drop table

例如:删除表名为 MyClass 的表

mysql> drop table MyClass;

插入数据

命令:insert into [( [,.. ])] values ( 值 1 )[, ( 值 n )]

例子:

mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

查询表中的数据

查询所有行

mysql> select * from MyClass;

查询前几行数据

例如:查看表 MyClass 中前 2 行数据

mysql> select * from MyClass order by id limit 0,2;

或者

mysql> select * from MyClass limit 0,2;

删除表中数据

命令:delete from 表名 where 表达式

例如:删除表 MyClass 中编号为 1 的记录

mysql> delete from MyClass where id=1;

修改表中数据

命令:update 表名 set 字段=新值,... where 条件

mysql> update MyClass set name='Mary' where id=1;

在表中增加字段

命令:alter table 表名 add 字段 类型 其他;

例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0

mysql> alter table MyClass add passtest int(4) default '0'

更改表名

命令:rename table 原表名 to 新表名;

例如:在表 MyClass 名字更改为 YouClass

mysql> rename table MyClass to YouClass;

更新字段内容

命令:update 表名 set 字段名 = 新内容

update 表名 set 字段名 = replace(字段名, '旧内容', '新内容');

例如:文章前面加入 4 个空格

update article set content=concat(' ', content);