进入数据库

 mysql -u root -pmysql    (u用户名,p密码)#如果不想让其他人看到就直接一个p然后回车再打密码
select version();   查看数据库版本
select now  查看现在时间

数据库操作

查看数据库 show databases    复数加s
创建数据库 create [kri:eit] database 文件名 charset=utf8; 
删除数据库 drop [drop] database
use     切换路径进入到指定的库

表操作

desc        查看列表
约束表格
primary key     设为主键
auto_increment  自然生长
not null        不为空
int unsigned    无符号整型
create  table+表名(列名
+约束,
drop table+表名   删除表
id  int unsigned  primary key  auto_increment  not null # 无符号整形  设为主键 自动增长 不为空
varchar(10) 字符串字节
 
 

表的增删改查‘

1、查
查询表的所有数据
select * from 表名;
查询指定的列
select 列名1,列名2 from 表名;

全列插入
insert into 表名 values(id int primary key auto_increment )
指定列插入
插入的数据和列名对应
insert into 表名(列名1,列名2) values ( )
指定列一行一行插入
insert into 表名( 列名) values ( ..........)

修改表里的数据
update 表名 set 列名=新的值 where id = **;

delete from 表名 where id = ** ;

起别名
select 列名 as 新列名, 列名1 as 新列名1 from 表名
去重 单列
select distinct 列名 from 表名

数据条件查询
where
1、比较语句
> = < >= <= !=
2、逻辑运算符
and or not
3、模糊查询
like
% 匹配任意多个字符
_ 匹配任意一个字符
4、范围查询
in 表示在一个不连续的范围内
between ......and ... 表示在一个连续的范围内
null
is null 判断是空
is not null 判断不是空

优先级:
由高到低的顺序
小括号>not>比较运算符>逻辑运算符
在逻辑运算符里 and > or
如果想要先执行or 就得加括号

排序
order by
asc 升序
desc 降序

分组

group by 在查询结果后面进行分组
select gender from students group by gender;

1、group by + group_concat(字段名) 可以查出该字段的信息
select gender,group_concat(name) from students group by gender;
2、group by + 聚合函数 avg() sum() count(*)
select gender,count(*) from students group by gender;
3、group by + having
having 条件表达式 用来分组查询后再根据条件进行查询
having和where的用法是一样的 只不过having只能在group by 后使用
mysql> select gender,count(*) from students group by gender having count(*)>2;
4、group by + with rollup
作用就是在最后一行 记录当前列里所有记录的总和

聚合函数
1、count(*) 获取总行数
select count(*) from students;
2、max 查询最大值
3、min 查询最大值
4、sum 求和
5、avg 求平均值
5、round(avg(列名),2) 求平均值保留两位小数

一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节

分页
1、limit start(开始,从第几行开始查) ,count(从开始行下一行,往后查几行数据)
select * from 表名 limit start,count;
select * from 表名 limit 9,5;

外键
定义,连接两个表
1,先建主表 插入数据
2,再建子表

连接查询

1、内连接 就是两张表的交集
select * from 表1 inner join 表2 on 表1.列名=表2.列名
2、左连接
select * from 表1 left join 表2 on 表1.列名=表2.列名
3、右连接
select * from 表1 right join 表2 on 表1.列名=表2.列名

自关联
一个表自己查询自己
inner join on

子查询
定义:一个select语句里面嵌入另一个select语句
主查询和子查询的关系
1、子查询是嵌入在主查询里
2、子查询是辅助主查询 充当条件或者数据源的
3、子查询是一个完整的select语句,可以被单独拿出来使用
子查询分类
1、标量子查询 返回的是数据(一行一列)
2、列级子查询 返回的是一列(一列多行)
3、行级子查询 返回的是一行(一行多列)

MySQL语句的使用的更多相关文章

  1. 如何根据执行计划,判断Mysql语句是否走索引

    如何根据执行计划,判断Mysql语句是否走索引

  2. 让dede运行php代码和mysql语句

    一.dede运行php代码 举例1: {dede:name runphp='yes'} $str = "hello ";@me = $str;@me .= "world& ...

  3. php代码优化,mysql语句优化,面试需要用到的

    首先说个问题,就是这些所谓的优化其实代码标准化的建议,其实真算不上什么正真意义上的优化,还有一点需要指出的为了一丁点的性能优化,甚至在代码上的在一次请求上性能提升万分之一的所谓就去大面积改变代码习惯, ...

  4. mysql语句:批量更新多条记录的不同值[转]

    mysql语句:批量更新多条记录的不同值 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 帮助 1 UPDATE mytable SET myfield = 'value' WHERE ...

  5. Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值

    Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值 Thinkphp 的文档经常不够完整的表达MYSQL的各种组合,is not null在thinkp ...

  6. MySQL语句进行分组后的含有字段拼接方法

    MySQL语句: SELECT GROUP_CONCAT(DISTINCT transaction_no) FROM `lm_wh_trans` GROUP BY staff_code; 如果tran ...

  7. shell脚本循环执行mysql语句

    参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: ...

  8. 【PHP基础】常用mySQL语句以及WampServer2.2设置数据库默认编码

    一.WampServer2.2设置数据库默认编码(此部分转自http://www.cnsecer.com/5984.html) wamp下MySQL的默认编码是Latin1,不支持中文,要支持中文的话 ...

  9. mysql语句中把string类型字段转datetime类型

    mysql语句中把string类型字段转datetime类型   在mysql里面利用str_to_date()把字符串转换为日期   此处以表h_hotelcontext的Start_time和En ...

  10. php中mysql语句的基本写法

    php中mysql语句的基本写法 php作为一门后台语言必须要与mysql数据库打交道,做到将内容存储到数据库以及数据库数据读写的操作,那么下面就来说下最近学习的一些东西: 在具体将之前先说一下编码的 ...

随机推荐

  1. KEA128+SHT30+CRC校验

    最近更新产品功能的时候使用到Sensirion的SHT30(温湿度传感器),虽说官网上有例程(STM32F100RB),但用的是软件模拟I2C时序控制SHT30进行温湿度读取,我用的是S9KEA128 ...

  2. Thunar左侧边栏不完全显示PLACES的解决

    场景 我的笔记本装上系统时用的英文,安装中文之后,发现文件管理器的默认的几个文件夹 Desktop.Music.Videos.Downloads等都变成了中文,由于是新安装的系统,就重新生成 loca ...

  3. Shell概述1

    Shell概述1 脚本文件内容(vim ex2) #!/bin/bash #If no arguments,then listing the current directory. #Otherwise ...

  4. 01 . Tomcat简介及部署

    Tomcat简介 Tomcat背景 tomcat就是常用的的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中.而tomcat本 ...

  5. 项目打包成手机app 通过什么打包?

    项目打包成手机app  通过什么打包? 1.HbuildX注册邮箱账号 2.新建-app,然后将自动生成的除manifest.json之外的所有文件删除,然后将vue项目build之后生成的dist文 ...

  6. POJ 2671 Jimmy's Bad Day题解(很详细很友好,类似区间dp)

    有问题的话欢迎在评论区提出 题意: 题目链接 你是一个送快递的,现在给你一个环,环的边有权值,代表走这条边所花的时间,每个点代表一个地点,点有点权,代表这个点上有多少货物需要你送.初始时间\(t=0\ ...

  7. Beta冲刺——5.25

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.解决小程序之前的遗留问题 ...

  8. Rocket - decode - Inst Decode

    https://mp.weixin.qq.com/s/WvepB3yAzjMbQalO3Z82pQ   介绍RocketChip Instruction解码逻辑的实现.   1. RISC-V   R ...

  9. MySQL 高级—— Join 、索引 、优化

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.Join 查询 1.SQL执行顺序(一般情况下) 1.1 手写顺序: SELECT DISTINCT ...

  10. Ondemand和Interactive gonernor工作逻辑简述

    ondemand 简述: 1.采样时间:sampling_rate,单位us 2.cpu usage是仅统计最新1us的一个smaple周期,以%体现cpu busy程度. 3.一般情况下,next频 ...