进入数据库

 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. 读Pyqt4教程,带你入门Pyqt4 _004

    在PyQt4教程的这部分中,我们将探讨应用中事件和信号的发生. 事件是GUI程序的重要部分,由用户或者系统产生.当我们调用应用的 exec_() 方法,应用进入主循环.主循环获取事件并把它们发往对象. ...

  2. SpringBoot工程创建的三种方式

    一. 通过IDEA的spring Initializer创建 1. 打开创建项目面板 File->New->Project->Spring Initializr 2. 填写Maven ...

  3. Function's dict

    众所周知,Python是没有switch的,那么只能使用 if else来进行判断,但是if else比较冗长, 使用太多的if else 代码看起来不简洁,如下 student.py def stu ...

  4. GNS3--cisco路由器NAT配置

    一.基础 Cisco路由器配置中NAT的主要命令: 静态NAT: 1.指定NAT内部接口 在内网相应接口的接口配置模式下执行:ip nat inside 2.指定NAT外部接口 在外网相应接口的接口配 ...

  5. Alpha冲刺 —— 5.7

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...

  6. 高性能可扩展mysql 笔记(二)用户模型设计、用户实体表结构设计、设计范式

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.用户模型设计 电商羡慕中用户模型的设计涉及以下几个部分: ​ 以电商平台京东的登录.注册页面作为例: ...

  7. Java实现 蓝桥杯VIP 算法提高 研究兔子的土豪

    试题 算法提高 研究兔子的土豪 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 某天,HWD老师开始研究兔子,因为他是个土豪 ,所以他居然一下子买了一个可以容纳10^18代兔子的巨大 ...

  8. Java实现 LeetCode 461 汉明距离

    461. 汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意: 0 ≤ x, y < 231. 示例: 输入 ...

  9. Java实现 蓝桥杯VIP 算法训练 阶乘末尾

    问题描述 给定n和len,输出n!末尾len位. 输入格式 一行两个正整数n和len. 输出格式 一行一个字符串,表示答案.长度不足用前置零补全. 样例输入 6 5 样例输出 00720 数据规模和约 ...

  10. 第七届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.煤球数量 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第 ...