登陆Mysql
在DOS窗口中进入目录mysql/bin键入:
mysql -h localhost -P 端口 -u root -p
简写:mysql -u root -p
修改密码
mysqladmin -u用户名 -p旧密码 password 新密码
set password for 用户名@localhost = password(‘新密码‘);
alter user ‘root‘@‘localhost‘ identified by ‘新密码‘;
忘记root密码情况下:
1.关闭正在运行的MySQL服务
2.打开DOS窗口,转到mysql\bin目录
3.输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >
5.连接权限数据库: use mysql;
6.改密码:update user set password=password("新密码") where user="root";(别忘了最后加分号)
7.刷新权限(必须步骤):flush privileges;
8.退出mysql quit;
添加新用户
mysql环境中键入:
create user ‘新用户名’@‘localhost‘ identified by ‘密码‘; //只允许指定ip连接
create user ‘新用户名’@‘%‘ identified by ‘密码‘; //允许所有ip连接(用通配符%表示)
grant授权
show grants; 查看当前用户(自己)权限
grant all privileges on 数据库 to dba@‘localhost‘ grant 普通 DBA(数据库管理员) 管理某个 MySQL 数据库的权限。
grant select,insert,update,delete on 数据库.* to 用户名@‘%’ identified by “密码”
//授权用户可以在主机上登录,并对所有数据库有查询、插入、修改、删除的权限
grant select,insert,update,delete on 指定数据库.* to 用户名@localhost identified by “密码”
//授权用户只可以在localhost上登录,并对指定数据库有查询、插入、修改、删除的权限,且无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问。
拓展权限:references 外键权限*
create temporary tables 临时表权限
index 索引权限
create,show view 视图、查看视图源代码权限
create routine,alter routine,execute 存储过程、函数权限
删除用户
DROP USER username@localhost; //删除用户
FLUSH PRIVILEGES; //刷新权限
创建数据库
create database 数据库名;
(X)例:
①CREATE DATABASE 数据库名;
②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY ‘密码‘;
③SET PASSWORD FOR ‘数据库名‘@‘localhost‘ = OLD_PASSWORD(‘密码‘);
显示数据库
show databases;
show tables; 查看表
修改数据库
alter database 数据库 character set 编码格式 collate gbk_bin; //修改数据库编码
删除数据库
drop database 数据库名;
例:删除一个不确定存在的数据库
mysql> drop database drop_database;
ERROR 1008 (HY000): Can‘t drop database ‘drop_database‘; database doesn‘t exist
//发生错误,不能删除‘drop_database‘数据库,该数据库不存在。
mysql> drop database if exists drop_database;
Query OK, 0 rows affected, 1 warning (0.00 sec)
//产生一个警告说明此数据库不存在
mysql> create database drop_database;
Query OK, 1 row affected (0.00 sec)
mysql> drop database if exists drop_database;//if exists
//判断数据库是否存在,存在则不产生错误
Query OK, 0 rows affected (0.00 sec)
连接数据库
use 数据库名; //使用数据库
选择数据库
select database(); //查看当前选择的数据库
select * from 表; //查看表的全部内容
select version(); //显示Mysql版本
select now(); //显示当前时间
创建数据表
create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
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));
表的格式:
名 | 类型 | 长度 | 小数点 | 不是null | 键 | 默认值 |
---|---|---|---|---|---|---|
id | int | 4 | 0 | √ | 1 | |
name | char | 20 | 0 | √ | ||
sex | int | 4 | 0 | √ | ||
degree | double | 16 | 2 | 0 |
表:
id | name | sex | degree |
---|---|---|---|
增加表中字段
alter table 表名 add字段 类型 其他;
例: alter table MyClass add passtest int(4) default ‘0‘
//在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
删除字段
MySQL ALTER TABLE 表名 DROP 字段;
表中插入数据
insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例:insert into MyClass values(1,’TOM’,3523),(2,’jack’,3524);
//往表MyClass插入了两条记录:编号为1名为TOM的学号是3523,编号为2的jack学号是3524.
insert into每次只能向表中插入一条记录。
删除表中数据
delete from 表名 where 表达式
例:delete from MyClass where id=1;
//删除表 MyClass中编号为1 的记录
修改表中数据
update 表名 set 字段=新值,… where 条件
例: update MyClass set name=‘Mary‘ where id=1; //更改id=1的名字为mary
查询表中数据
select <字段1,字段2,...> from < 表名 > where < 表达式 >
desc 表名 //查询表结构
例 : select from MyClass where id=1; //查询MyClass中id=1的数据
select * from MyClass order by id limit 0,2; //查询MyClass前两行数据
删除数据表
drop table 表名;
//DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!
修改表名
rename table 原表名 to 新表名;
//如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态
备份数据库
mysql环境下键入:
show global variables like ‘%datadir%‘ //查找数据库所在位置
DOS窗口下且在数据库文件内键入:
mysqldump –u user –h localhost –p 数据库名称 数据表 >导出文件名 // --all-databases备份所有数据库
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt 数据库名称 > 导出文件名 //带语言参数导出
还原数据库
mysql –u root -h localhot –p [数据库名] <备份文件名
//使用--all --databases参数备份了所有的数据库,还原不需要指定数据库.
原文:https://www.cnblogs.com/PmzK/p/12450247.html
如果您也喜欢它,动动您的小指点个赞吧