mysql基本操作命令

一、基本命令

1、启动服务

  • 说明:以管理员身份运行cmd
  • 格式: net start 服务名称
  • 示例: net start mysq157


2、停止服务

  • 说明:以管理员身份运行cmd
  • 格式: netstop服务名称
  • 示例: net stop mysq157

3、连接数据

  • 格式: mysq1 -u用户名-p
  • 示例: mysq1 -u root -p
  • 输入密码(安装时设置的)

4、退出登录(断开连接)

  • quit或exit

5、查看版本(连接后可以执行)

  • 示例: select version( );

6、显示当前时间(连接后可以执行)

  • 示例: select now();

7、远程连接

  • 格式: mysq1 -h ip地址 -u 用户名 -p 输入对方mysq1密码

二、数据库操作

1、创建数据库

  • 格式: create database 数据庠名charset=utf8;
  • 示例: create database sunck charset=utf8;

2、删除数据库

  • 格式: drop database 数据庠名;
  • 示例: drop database sunck ;

3、切换数据库

  • 格式:use数据库名;
  • 示例: use sunck ;

4、查看当前选择的数据库

  • select . database( ) ;

三、表操作

1、查看当前数据库中所有表

  • show tables ;

2、创建表

  • 格式:create table表名(列及类型);
  • 说明:auto_ increment表明自增长 primary key主键 not null表示不为空
  • 示例: create table student( id int auto_ increment primary key,name varchar(20) not null);

3、删除表

  • 格式: drop table表名;
  • 示例: drop table student ;

4、查看表结构

  • 格式:desc 表名;
  • 示例:desc student;

5、查看建表语句

  • 格式: show create table表名;
  • 示例: show create table student;

6、重命名表名

  • 格式: rename table 原表名 to 新表名;
  • 示例: reanme table car to newcar;

7、修改表

  • 格式: alter table 表名 add | change | drop 列名 类型;
  • 示例:alter table newcar add isDelete bit default 0

四、数据操作

1、增
a、全列插入

  • 格式: insert into表名values(...)
  • 说明:主键列是自动增长,但是在全列插入时需要占位,通常使用日,插入成功以后以实际数据为准
  • 示例: insert into student values(日, "tom" ,19,1, "北京",0)

b、缺省插入

  • 格式: insert into 表名(列1,列2, values(値1, 値2,......);
  • 示例: insert into student (name, age, address) values("1ilei" ,19,"_上海");

c、同时插入多条数据

  • 格式: insert into 表名values(..:),(..·),...
  • 示例: insert into student values(0, "hanmeimei" ,18,0, "北京",0)

2、删

  • 格式: delete from 表名 where 条件;
  • 示例: delete from student where id=4 ;
  • 注意:没有条件是全部删除,慎用

3、改

  • 格式: update 表名set 列1=值1,列2=值..... where 条件;
  • 示例: update student set age=16 where id=7 ;
  • 注意:没有条件是全部列都修改,慎用

4、查

  • 说明:查询表中的全部数据
  • 格式: select * from表名;
  • 示例: select * from . student ;

五、查

1、基本语法

  • 格式:select * from表名
  • 说明:
  • a、from关键字后面是表名,表示数据来源于这张表
  • b、select后面写表中的列名,如果是*表示在结果集中显示表中的所有列
  • c、在select之后的列名部分,可以使用as 来取别名,这个别名显示在结果集中
  • d、如果要查询多个列,之间使用逗号分隔
  • 示例:

    select * from student ;

    select name , age from student ;

    select name as a, age from student;

2、消除重复行

  • 在select 后面列前面使用distinct可以消除重复的行
  • 示例:
  • select gender from student ;
  • select distinct gender from student ;

3、条件查询

  • A、语法

    select * from 表名 where 条件

  • B、比较运算符

  • 等于 =
    大于 >
    小于 <
    大于等于 >=
    小于等于 <=
    不等于 !=或<>

  • 需求:查询id值大于8的所有数据
    示例: select from student where id>8;

  • C、逻辑运算符

  • and 并且
    or 或者
    not 非
  • 示例
  • select * from student where id>7 and gender=0

  • D、模糊查询

  • like
    % 表示任意多个任意字符
    _ 表示一个任意字符
  • 示例
  • select * from student where name like "王%";

  • E、范围查询
  • in 表示在一个非连续的范围内
  • between...and... 表示在一个连续的范围内
  • 示例
  • select * from student where id in (8,9,10);
  • select * from student where id between 6 and 8;

  • F、空判断
  • 注意:null与""是不同的
  • 判断空: is null
    判断非空: is not nu11

    需求:查询没有地址的同学
    示例: select * from student where address is null ;
    需求: 查询有地址的同学
    示例: select * from student where address is not null ;


  • G、优先级
  • 小括号,not比较运算符,逻辑运算符
    and比or优先级高,如果同时出现并希望先选or,需要结合()来使用

4、聚合

  • 为了快速等到统计数据,提供了5个聚合函数
  • a、count(*) 表示计算总行数,括号中可以写*和列名
  • b、max(列) 表示求此列的最大值
  • c、min(列) 表示求此列的最小值
  • d、sum( 列) 表示求此列的和
  • e、avg(列) 表示求此列的平均值
  • 需求:查询学生总数
  • 示例: select count(* ) from student ;

5、分组

  • 按照字段分组,表示此字段相同的数据会被放到一个集合中。
  • 分组后,只能查询出相同的数据列,对于有差异的数据列无法显示在结果集中
  • 可以对分组后的数据进行统计,做聚合运算
  • 语法: select 列1,列2,聚..... from 表名 group by 列1,列2,列3...
  • where与having的区别:
    where是对from后面指定的表进行筛选,属于对原始数据的筛选
    having是对groupby的结果进行筛选

6、排序

语法: select * from 表名 order by 列1 asc desc,列2 asc l desc

说明:

  • a、将数据按照列1进行排序,如果某些列1的值相同,则按照列2进行排序
  • b、默认按照从小到大的顺序排序
  • c、asc降序
  • d、desc升序

7、分页

语法: select* from 表名 limit start , count ;

说明: start 索引从0开始

示例:

  • select * from student limit 0,3
  • select * from student limit 3,3
  • select * from student where gender=1 limit 0,3

关联查询:


select students. name, class.name from class inner join students on class. id=students. classid;

select students. name,class.name from class left join students on class. id=students. classid;

分类:

1、表A inner join 表B:

表A与表B匹配的行会出现在结果集中

2、表A left join 表B:

表A与表B匹配的行会出现在结果集中,外加表A中独有的数据,未对应的数据使用null填充

3、表A right join 表B:

表A与表B匹配的行会出现在结果集中,外加表A中独有的数据,未对应的数据使用null填充

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值