Windows下使用命令行操作MySQL数据库

一、运行数据库

1、启动服务:net start mysql
在这里插入图片描述

2、连接数据库:

mysql -h[IP地址] -u [数据库] -p;
mysql -u [数据库] -p;
 
--如:mysql -u root -p;
--   mysql -h127.0.0.1 -u root -p;

在这里插入图片描述

二、查看

1、查看数据库:show databases
在这里插入图片描述

2、查看表:show tables

--先选择数据库
USE [数据库]
USE root
 
--查看表
 
SHOW TABLES;

在这里插入图片描述

3、查看表中的列:

SHOW columns from [表名];
SHOW columns from db;
 
describe [表名];
describe db;
 
--我感觉两种方式是一样的

在这里插入图片描述
在这里插入图片描述

4、查看数据库的状态:

SELECT host,user FROM MYSQL.USER

5、查看用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

三、新建

1、创建数据库:

--创建数据库
CREATE DATABASE [数据库名];
CREATE SCHEMA [数据库名] default character set utf8 collate utf8_general_ci;
 
--采用create schema和create database创建数据库的效果一样,具体区别还没研究。

2、创建用户:

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

3、创建表:

DROP TABLE IF EXISTS `表名`;//有则删表
CREATE TABLE `表名` (
  `字段1` varchar(10) PRIMARY KEY NOT NULL COMMENT '字段描述',
  `字段2` varchar(10) DEFAULT NULL COMMENT '字段描述',
  `字段3` varchar(10) DEFAULT NULL COMMENT '字段描述'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='表描述';

四、添加

1、导入.sql文件

--导入SQL文件
SOURCE d:/mysql.sql;
--应该也可以
mysql -uroot -p密码 < c:\sudu.sql

2、插入数据

--插入数据
INSERT INTO [表名] VALUES("字段1","字段2"······);
 
 
--以文本方式将数据插入表
LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;

3、导入.txt文件

1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替.例:
 
  3 rose 飞数科技1 1976-10-10
 
  4 mike 飞数科技2 1975-12-23
 
  假设你把这两组数据存为速度sudu.txt文件,放在c盘根目录下。
 
2、数据传入命令 load data local infile "c:\sudu.txt" into table 表名;
 
  注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在的库。

五、删除

1、删除用户

--删除用户
DELETE FROM mysql.user WHERE user='tester'; 
DROP USER 'userName'@'host';

2、删除数据库

--删除数据库
DROP DATABASE db;

3、删除表

--删除表
DROP TABLE [表名]

4、清空表数据

--清空表数据
DELECT FROM [表名];

六、修改

1、修改密码

--格式;
MYSQLADMIN -u [用户名] -p [旧密码] password [新密码];
 
UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';--记得刷新
 
--例如:
MYSQLADMIN -u root -password 1234;  --给root加个密码
MYSQLADMIN -u root -p 1234 password abcd;

2、修改表

--增加列
alter table [表名] add [列名] char(100) null;
 
--删除列
alter table [表名] drop column [列明];
 
--修改列数据类型
ALTER TABLE [表名] ALTER COLUMN [列名] [类型];
 
--改表名
rename table [旧表名] to [新表名];
 
 
ALTER TABLE table_name ADD column_name datatype   增加表中的列
ALTER TABLE table_name  DROP COLUMN column_name   删除表中的列
ALTER TABLE table_name ALTER COLUMN column_name datatype   改变表中的列的数据类型

3、修改表中数据

UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';

七、授权

--授权test用户有testDB数据库的某一部分权限:
GRANT select,update ON testDB.* TO test@'%' IDENTIFIED BY 'password';
--授权test用户有testDB数据库的所有操作权限:
GRANT all PRIVILEGES ON testDB.* TO 'test'@'%' IDENTIFIED BY 'password';
--授权test用户拥有所有数据库的某些权限:
GRANT select,delete,update,create,drop ON *.* TO 'test'@'%' IDENTIFIED BY 'password'

八、备份数据

1、备份数据库

--备份数据库
MYSQLDUMP -u [用户名] -p [密码] [数据库] > [路径/文件名.sql];
MYSQLDUMP -u [用户名] -p -d --add-drop-table [数据库] > [路径/文件名.sql];--/   -d 没有数据 --add-drop-table 在每个语句前加上drop table **
 
mysqldump -up[用户名] -p --default-character-set=latin1 --set-charset=gbk --skip-opt [数据库]> [路径/文件名.sql];

2、备份表

--备份表
MYSQLDUMP -u [用户名] -p [密码] [数据库] > [路径/文件名.sql];

九、其他

flush  privileges;--立即启用修改,刷新
 
revoke all on *.* from tester;--取消用户所有数据库(表)的所有权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值