连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)
断开:exit (回车)

创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
删除授权: revoke select,insert,update,delete om *.* fromtest2@localhost;

显示数据库:show databases;
显示数据表:show tables;
显示表结构:describe 表名;

创建表:create table 表名 (字段设定列表);
删除表:drop table 表名;
修改表:alter table t1 rename t2
查询表:select * from 表名;
清空表:delete from 表名;
备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasenametablename > tablename.sql
恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasenametablename < tablename.sql(操作前先把原来表删除)

备份数据库:mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename> database.sql
恢复数据库:mysql\bin\mysql -h(ip) -uroot -p(password) databasename< database.sql
复制数据库:mysql\bin\mysqldump --all-databases >all-databases.sql
修复数据库:mysqlcheck -A -o -uroot -p54safer

文本数据导入: load data local infile \"文件名\" into table 表名;
数据导入导出:mysql\bin\mysqlimport database tables.txt

mysql服务的启动和停止
net stop mysql
net start mysql

登陆mysql
语法如下: mysql -u用户名-p用户密码
键入命令mysql -uroot -p,回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* touser1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* touser1@localhost identified by"";

例2:连接到远程主机上的MYSQL
  假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:   

  mysql-h110.110.110.110 -uroot -pabcd123   

  (注:u与root可以不用加空格,其它也一样)   

  3、退出MYSQL命令:exit

(一) 连接MYSQL:
   格式: mysql -h主机地址 -u用户名-p用户密码

1、例1:连接到本机上的MYSQL
  首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:\mysql\bin,再键入命令mysql -uroot-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL
  假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
   mysql -h10.0.0.1 -uroot-p123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令
   exit (回车)

(二) 修改密码:
   格式:mysqladmin -u用户名 -p旧密码password 新密码
1、例1:给root加个密码123。首先在DOS下进入目录C:\mysql\bin,然后键入以下命令:
   mysqladmin -uroot -password123
  注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为456
   mysqladmin -uroot -pab12password 456
(三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
   格式:grant select on 数据库.* to用户名@登录主机 identified by "密码"
  例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
   grantselect,insert,update,delete on *.* to test1@"%" Identified by"abc";

但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
  例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
   grantselect,insert,update,delete on mydb.* to test2@localhost identifiedby "abc";
  如果你不想test2有密码,可以再打一个命令将密码消掉。
   grantselect,insert,update,delete on mydb.* to test2@localhost identifiedby "";

MySQL导入导出命令
1.导出整个数据库
  mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc >wcnc.sql
2.导出一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc users>wcnc_users.sql

3.导出一个数据库结构
  mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc>d:wcnc_db.sql
  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库
  常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:wcnc_db.sql

创建数据库:

  create database test1;

数据库查询:

  show databases;

选择要操作的数据库;

  use test1

查看 test1 数据库中创建的所有数据表:

  show tables;

创建表:

  create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));

查看表:

  desc emp;

删除表:

  drop table emp

修改表类型:

  alter table emp modify ename varchar(20);

增加表字段

  alter table emp add column age int(3);

删除表字段

  alter table emp drop column age;

字段改名

  alter table emp change age agel int(4);

  注意:change 和 modify都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便。但是 change 的优点是可以修改列名称,modify则不能。

修改字段排列顺序

  1. alter table emp add birth date after ename;
  2. alter table emp modify age int(3) first;

表改名

  alter table emp rename emp1;

插入记录

  insert into emp(ename,hiredate,sal,deptno) values('zzx1','2000-01-01','2000',1);

修改字段排列顺序

  1.  alter table emp add birth date after ename;
  2.  alter table emp modify age int(3) first;

一次性插入多条记录

  1. INSERT INTO tablename (field1, field2,……fieldn)
  2.  VALUES(record1_value1, record1_value2,……record1_valuesn),
  3.  (record2_value1, record2_value2,……record2_valuesn),

更新记录:update emp set sal=4000 where ename='lisa';

删除记录:delete from emp where ename='dony';

  1. delete a,b from emp a,dept b where a.deptno=b.deptno and a.deptno=3; 

查询记录:select * from emp;

其中“*”表示要将所有的记录都选出来,也可以用逗号分割的所有字段来代替,例如

查询不重复的记录:select distinct deptno from emp;

条件查询:select * from emp where deptno=1;

排序和限制:select * from emp order by sal;

聚合

  1.  fun_name 表示要做的聚合操作,也就是聚合函数,常用的有 sum (求和)、 count(*) (记录数)、max(最大值)、min(最小值)。
  2.  GROUP BY 关键字表示要进行分类聚合的字段, 比如要按照部门分类统计员工数量, 部门就应该写在 group by 后面。
  3.  WITH ROLLUP 是可选语法,表明是否对分类聚合后的结果进行再汇总。
  4.  HAVING 关键字表示对分类后的结果再进行条件的过滤
  5.  #要 emp 表中统计公司的总人数
  6.  select count(1) from emp;
  7.  #在此基础上,要统计各个部门的人数
  8.  select deptno,count(1) from emp group by deptno;
  9.  #既要统计各部门人数,又要统计总人数
  10.  select deptno,count(1) from emp group by deptno with rollup;
  11.  #统计人数大于 1 人的部门
  12.  select deptno,count(1) from emp group by deptno having count(1)>1;
  13.  #统计公司所有员工的薪水总额、最高和最低薪水
  14.  select sum(sal),max(sal),min(sal) from emp;

表连接

  1.  select ename,deptname from emp,dept where emp.deptno=dept.deptno;
  2.  # 可以列出另一列中不存在的name
  3.  select ename,deptname from emp left join dept on emp.deptno=dept.deptno;

子查询

  1.  select * from emp where deptno in(select deptno from dept);
  2.  #如果子查询记录数唯一,还可以用=代替 in
  3.  select * from emp where deptno = (select deptno from dept limit 1);

实用mysql数据库命令的更多相关文章

  1. linux下导入、导出mysql数据库命令 下载文件到本地

    一.下载到本地 yum install lrzsz sz filename  下载 rz filename  上传   linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命 ...

  2. 二进制方式快速安装MySQL数据库命令集合

    二进制方式快速安装MySQL数据库命令集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1.安装mysql ls mysql ...

  3. Mysql数据库命令行输入错误怎么办

    Mysql数据库命令行输入错误 缺少另一半 错误输入 ' 或 " 时,必须键入另一半才能退出命令. 缺少分号 写入语句缺少分号需要补全. 输入quit或者exit退出 ctrl+c,完全退出 ...

  4. 1.4 数据库和常用SQL语句(正文)——MySQL数据库命令和SQL语句

    前面我们已经讲述了,登录时,我们使用mysql –u root –p命令进行,此时如果设置了密码,则需要输入密码. 输入密码后即进入MySQL的操作界面,此时,命令行窗体左侧显示"mysql ...

  5. linux、windows下导入、导出mysql数据库命令

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构:[不是mysql里的命令]mysqldump -u用户名 -p密码 数据库名 > 数据 ...

  6. linux下导入、导出mysql数据库命令

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr ...

  7. Hadoop集群(第10期副刊)_常用MySQL数据库命令

    1.系统管理 1.1 连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 举例: 例1:连接到本机上的MySQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入 ...

  8. (转)linux下导入、导出mysql数据库命令

    原文链接:http://www.xiaohuai.com/2902 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用 ...

  9. linux下导入、导出mysql数据库命令的实现方法

    首先建空数据库 mysql>create database abc; 导入数据库 mysql>use abc; 设置数据库编码 mysql>set names utf8; 导入数据( ...

随机推荐

  1. 8、2 es数据库的使用

    1.注意问题.es和redis同时使用会报错 解决: package com.bw; import org.springframework.beans.factory.InitializingBean ...

  2. phaser,开启三个线程分别搜索三个文件夹

    Phaser表示“阶段器”,用来解决控制多个线程分阶段共同完成任务的情景问题 启动三个线程,分别对三个文件夹搜索,文件要以txt结尾,修改时间要在一天之内,并将文件路径打印在控制台 /** * 开启三 ...

  3. Linux学习-软件包管理安装

    rpm RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写 软件包类型 二进制包:已经使用GCC编辑后的 tar源码包:需要编译 rpm包获取方式 1,系统镜像   需 ...

  4. Redis Cluster集群重启出现的问题

    Redis Cluster集群重启出现的问题 由于机器故障导致redis集群停止,再次重启集群出现如下错误:Redis Cluster集群重启出现的问题:[ERR] Node 192.168.3.1: ...

  5. linux安装go开发环境

    1下载go wget https://studygolang.com/dl/golang/go1.12.7.linux-amd64.tar.gz执行此命令会将go1.12.7.linux-amd64. ...

  6. 『Go基础』第8节 格式化输出

    输出就是将数据信息打印到电脑屏幕上. 本节我们就来学习一下Go语言中的三种输出方式: Print().Println().Printf(). 1.Print() Print()主要的一个特点就是打印数 ...

  7. Markdown新手入门

    目录 Markdown新手入门 一.字体样式 二. 标题 三.列表 四.引用和代码块 五.插入图片和超链接 六.创建表格 七. 上标和下标 八.着重显示和高亮显示 我是尾巴 Markdown新手入门 ...

  8. int and Integer

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...

  9. Codeforces Round #569 Div. 1

    A:n-1次操作后最大值会被放到第一个,于是暴力模拟前n-1次,之后显然是循环的. #include<bits/stdc++.h> using namespace std; #define ...

  10. 使用for循环,批量删除历史数据

    declare maxrows number ; begin .. loop delete from TB_OPT_LOG ', 'yyyy-mm-dd') and rownum <= maxr ...