Mysql中的基本命令

用户

1.创建用户:create user ‘用户名’@‘主机名’ identified by ‘密码’;

2.授权用户的权限:GRANT 权限1,权限2…..ON 数据库名,表名 TO ‘用户名’@‘表名’’;

3.撤销权限:REVOKE 权限1,权限2 ON 数据库.表名 FROM ‘用户名’@‘主机名’;

4.查看权限:SHOW GRANT FOR ‘用户名’@’主机名’;

5.删除用户:DROP user ‘用户名’@’主机名’;

6.修改密码:修改管理员密码:mysqladmin -u root -p password

            修改普通用户密码:set password for ‘用户名‘@’主机名‘;

数据库

  1. 创建数据库:CREATE DATABASE [ IF NOT EXISTS ] db_name;
  2. 使用数据库:USE db_name;
  3. 删除数据库:DROP DATABASE db_name;
  4. 显示所有数据库:SHOW DATABASES;

数据表

  1. 创建数据表中的结构:CREATE TABLE tab_name(col_name datatype default null/number comment '注释',…);
  2. 显示所有表:SHOW tables;
  3. 查看表:DESC tables;
  4. 创建和某结构一样的表:CREATE TABLE table LIKE 某table;
  5. 创建表:CREATE TABLE  t  AS  select * from  table;
  6. 删除表:DROP TABLE table_name;
  7. 重命名表:RENAME TABLE 列名 TO 新列名;
  8. 添加表的列:ALTER TABLE 表名 ADD id 类型;
  9. 修改表的列属性:ALTER TABLE 表名 MODIFY id(列名)类型;
  10. 修改表的列名称:ALTER TABLE 表名 CHANGE id(列名)ss(新列名) 类型;
  11. 删除表的列:ALTER TABLE 表名 DROP 列名;
  12. 备份表结构:mysqldump -u root -p -d 数据库名 table1 table2 ... > d://a.sql(路径)
  13. 备份数据库的所有表结构:mysqldump -u root -p -d 数据库名 > d://a.sql(路径)
  14. 备份多个数据库的所有表结构:mysqldump -u root -p -d DATABASES  db1 db2 ... > d://a.sql(路径)
  15. 备份所有数据库的表结构: mysqldump -u root -p -d –all-databases> d://a.sql(路径)

记录(数据)

  1. 添加数据:INSERT INTO 表名(字段名) VALUES (值,值,值,);
  2. 查询数据:查询所有数据:SELECT * FROM 表名;

          查询某列数据:SELECT L 列名 FROM 表名;

          根据条件查询:SELECT 列名(条件)  FROM 表名 WHERE 条件;

  1. 修改数据:UPDATE 表名 SET deptno=6;

          根据条件修改:UPDATE 表名 SET deptno=n WHERE 条件;

  1. 删除数据:全部删除:DELETE FROM 表名

  删除指定数据:DELETE FROM 表名 WHERE 条件;

  1. 备份数据:(相当于在备份结构的语法上去掉-d选项) d 就是date
  2. 还原表结构和数据:mysql -u root -p [dbname] < 目标文件

高级查询

1. distinct

在`select`语句中,可以使用`distinct`关键字对查询的结果集进行去重。

select distinct 列1, ... , 列n  from table_name [其他子句];

去重必须结果集中每个列的值都相同

2. order by

order by用于对结果进行排序显示,可以使用ASC / DESC两种方式进行排序,可以有多个排序条件

ASC:表示升序排序,如果不写即为此排序方式

DESC:表示降序排序

select [distinct] 列1, ... , 列n from table_name [其他子句] order by 排序列1 [DESC], 排序列2 [DESC];

3.分页查询limit子句

select * from emp limit 0,2;

select * from table_name  limit (页码 - 1) * 每页数量, 每页数量;

第一个参数0是表示从第几条开始查询 (这里的 0 是可以省略不写的)

第二个参数 表示查询出几条数据

后面不够的,有多少写多少

4.聚合函数:

5.group by:

`group by ` 是对数据进行分组,分组时,表中有相同值的分为一组。分组后可以进行聚合查询。

`group by`分组后的查询中,`select`的列不能出现除了`group by `分组条件以及聚合函数外的其他列。

select 列1, 列2, (聚合函数) from table_name group by 列1, 列2;

6.having:

having是对group by分组后的结果集进行筛选。

select 列1, 列2, (聚合函数) from table_name group by 列1, 列2 having 分组后条件;

  1. 综合查询

SELECT DISTINCT emp.deptno FROM emp JOIN dept ON emp.deptno = dept.deptno WHERE bridate >= '2000-01-01' GROUP BY emp.deptno HAVING count(*) >= 2 ORDER BY count(*) DESC  LIMIT 0, 5;

书写顺序是以上。

SQL语句的执行顺序

from --> on --> join --> where --> group by --> having --> select --> distinct-- > order by--> limit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值