注意事项:

1、sql 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

一、数据库

1、创建数据库

CREATE DATABASE lesson ;

创建一个名字为lesson的数据库

2、删除数据库

drop database lesson ;

二:表

1、创建表

CREATE TABLE `mydb`.`it` (
            `id` INT NOT NULL,
            `name` VARCHAR(45) NULL,
            PRIMARY KEY (`id`)

);

在名字为mydb的数据库中创建一个表,表的名字叫it.

表中有两个字段 : id  , name 。 其中主键为 id

2、删除表

DROP TABLE `mydb`.`it`;

数据库名: mydb

表名     : it

3、修改表的名字

RENAME TABLE student TO user ;

把student表的名字改为user

4、复制表

create table table2 select * from user ;

通过复制user表,来创建一个新表table2

三:增加数据

1、往表里插入数据

INSERT INTO `mydb`.`user` (`id`, `name`, `age`) VALUES ('2', 'lisid', '25');

mydb : 数据库名

user  : 表名

id ,name ,  age :代表三个字段

VALUES  :字段对应的数据

四:删除数据

1、条件删除(删除一行数据)

DELETE FROM user WHERE  id=1  ;

删除id = 1 的所有数据  (删除id =1 的这一行)

五、更新数据

1、更新一个字段的值

UPDATE `mydb`.`user` SET `age`='22' WHERE `id`='1';

数据名: mydb

表名  : user

字段  : age
             筛选条件 : id = 1 ;

在mydb数据库,user表中,把id = 1 的这一行的 age 属性值修改为 22

2、更新多个字段的值

UPDATE `mydb`.`user` SET `name`='奶茶妹妹', `age`='18' WHERE `id`='2';

在mydb数据库,user表中,把id = 2 的这一行的 name属性值修改为 奶茶妹妹 , age 属性值修改为 22

六:查询数据

1、查询

SELECT * FROM mydb.user;

从mydb数据库中查询user表里面的所有数据

2、单属性查询

SELECT name  FROM user ;

从user表中查询所有的name属性值

3、多属性查询

SELECT name , age  FROM user ;

从user表中查询所有的name 和 age 的属性值

4、条件查询 where

SELECT name , age , id  FROM user where id = 2 ;

从user表中查询id等于2的所有name、age、id 的属性值,注意id的类型是整型,所以2不用加单引号

SELECT name , age , id  FROM user where name = 'tom' ;

从user表中查询 name 值等于‘tom’ 的所有name、age、id 的属性值,注意name的类型是字符型,‘tom’加单引号

SELECT * FROM `user` WHERE id > 5  ;

从user表中查询 id 值 大于 5 的所有name、age、id 的属性值

所有的逻辑运算符都支持: 大于 >  、  小于 <  、 大于等于 >=  、 小于等于 <=  、 等于 =  、 不等  !=   (或者 <>)

SELECT * FROM `user` WHERE id BETWEEN 3 AND 8  ;

user : 表名

id    : 字段名

between : 操作符   作用是选取介于两个值之间的数据范围

从user表中查询 id值在3(包含3) 到 (包含8)之间的所有name、age、id 的属性值 。 也就是 id 大于等于3, 小于等于8之间。

SELECT * FROM `user` WHERE age in ( 12 , 18 )  ;

user : 表名

age  : 字段名

in    : 操作符   作用是为查询条件规定多个值

从user表中查询出年龄为12岁和18岁的人所有信息。 相当于并集。

5、模糊查询  like

SELECT * FROM student WHERE phone LIKE '1825%'

student : 表名

phone   : 字段名 代表手机号

LIKE     : 模糊查询

%        : 代表任意一个或多个字符 , 可匹配任意类型和长度的字符。

从student表中查出以1825开头的手机号

SELECT * FROM student WHERE phone LIKE '182%' AND `name` LIKE 'zhang%'   ;

student : 表名

phone   : 字段名 代表手机号

name   :  字段名  代表名字
         从student表中查出以182开头的手机号并且 名字是以zhang开头的所有信息

SELECT * FROM student WHERE phone LIKE '1825110114_'

student : 表名

phone   : 字段名 代表手机号

LIKE     : 模糊查询

_         :  代表一个字符

从student表中查出以1825110114开头的手机号

SELECT * FROM student WHERE phone LIKE '%114%' ;

student : 表名

phone   : 字段名 代表手机号

LIKE     : 模糊查询

%        : 代表任意一个或多个字符 , 可匹配任意类型和长度的字符。

从student表中查出手机号包含114的所有信息

SELECT * FROM student WHERE phone LIKE '%114\%'  ;

student : 表名

phone   : 字段名 代表手机号

LIKE     : 模糊查询

%        : 代表任意一个或多个字符 , 可匹配任意类型和长度的字符。

从student表中查出以114%结尾的手机号 , 第一个 % 代表通配符 , \% 代表% 字符,没有通配符的功能

6、数量限制查询 limit

select * from user order by id limit 3 , 5 ;

从user表中查询 从3开始(包括3),数量为5 条数据。也就是3、4、5、6、7 条数据

注意5代表的是查询的数量

7、单字段排序查询   order by

* order by  语句用于根据指定的列对结果集进行排序。

* order by  语句默认按照升序对记录进行排序。

select * from  mydb.`user` order by age ;

mydb : 数据库名

user  : 表名

age   : 排序字段

从user表中查询所有的信息,查询结果按照 age 字段排序。(默认升序)

select * from  mydb.`user` order by age DESC ;

从user表中查询所有的信息,查询结果按照 age 字段降序排序。

8、多字段排序查询   order by

select * from  mydb.`user` order by age DESC , `name` ;

mydb  :数据库

user   :表名

age    :年龄

name  :名字

从user表中查询所有的信息,查询结果按照 age 降序排序。如果年龄相同,就按照name,升序排序 。

9、求总 count()

SELECT COUNT( name ) FROM `user`   ;

name : 字段名,代表名字

user  :  表名

从user表中查询 name 值得数目,不计 null 值。

SELECT COUNT( * ) FROM `user` ;

查询user表中的记录数

SELECT COUNT( DISTINCT `name` ) FROM `user` ;

查询user表中name字段不同值的数目,相当于去重。

10、求最大值 max() 和 最小值 min()

*MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。

SELECT MAX( id ) FROM `user` ;

从user表中查询 id 字段的最大值

SELECT MIN( id ) FROM `user` ;

从user表中查询 id 字段的最小值

11、求和 sum()

SELECT SUM( id ) FROM `user` ;

id     : 字段名

user : 表名

查询user表中 id 值的和

12、求平均值  avg()

SELECT AVG( id ) FROM `user` ;

id     : 字段名

user : 表名

查询user表中 id 值的平均数

13、显示所有数据库

SHOW DATABASES;

14、显示所有的表

SHOW TABLES;

七:视图

1、视图的基本概念

http://www.cnblogs.com/zzwlovegfj/archive/2012/06/23/2559596.html

2、创建一个视图

CREATE VIEW myview as SELECT * FROM mydb.`user` ;

myview :视图的名字

mydb    :数据库的名字

user     :  表的名字

查询user表的所有数据,作为视图myview的数据

3、删除视图

drop view myview ;

myview : 视图的名字

MySQL 常见的sql命令相关推荐

  1. mysql常见的sql语法示例

    文章目录 1. 对表的操作 1.1 建表操作 1.2 删除表 2. 对表字段的操作 2.1 添加字段 2.2 修改字段的长度或者类型 2.3 修改字段的名称 2.4 删除字段 2.5 批量操作字段 3 ...

  2. mysql常见慢sql,MySQL中慢SQL的查询及原因分析

    准备数据 查看系统变量 SHOW VARIABLES LIKE 'slow_query%'; slow_query_log:慢sql日志开启状态 slow_query_log_file:慢sql日志存 ...

  3. 【MYSQL优化之道摘抄】mysql常见的SQL优化方法

    前言 无论对于开发人员.运维人员或者测试人员,数据库的优化都是绕不开的话题.而在数据库的优化中SQL的优化又是最为关键的一项.再牛逼的服务器硬件也扛不住百万次的oracle硬解析,再快的SSD硬盘和r ...

  4. Mysql 常见DML sql 总结

    单条语句批量修改索引 ALTER TABLE `basic_self_lifting_point` DROP INDEX idx_company_code, ADD UNIQUE `idx_compa ...

  5. select into from 用法_年轻同事不讲武德,直接怼上MySQL常见SQL的七大错误用法

    今天来分享几个MySQL常见的SQL错误(不当)用法.我们在作为一个初学者时,很有可能自己在写SQL时也没有注意到这些问题,导致写出来的SQL语句效率低下,所以我们也可以自省自检一下. 常见SQL错误 ...

  6. 搭建mysql注入_常见的sql注入环境搭建

    常见的sql注入环境搭建 By : Mirror王宇阳 Time:2020-01-06 PHP+MySQL摘要 $conn = new mysqli('数据库服务器','username','pass ...

  7. mysql常见命令,查看数据库版本信息

    mysql常见命令,查看数据库版本信息 有2种方式 方式1: 在sql客户端中输入select version(); 方式2: 使用exit命令,退出sql客户端 在dos下输入如下命令 mysql ...

  8. mysql优化和sql优化一样吗_mysql数据库的sql优化原则和常见误区

    gistfile1.txt 优化目标 1.减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作 所占用的,减少 IO 次数 ...

  9. mysql indentify by_测试工作中常用到的sql命令!!!

    编写背景: 深圳下了一周的雨,天阴沉阴沉的,好想晒晒阳光,心情快被发霉了.这周运气很好,bugzilla和TestLink安装很顺利,mysql数据库的备份和恢复.bugzilla和testlink升 ...

最新文章

  1. 从60多场技术面试中,我总结了这份面试经验
  2. ActiveMQ的消息存储和持久化
  3. 【POJ 3041】Asteroids (最小点覆盖)
  4. react项目中使用mocha结合chai断言库进行单元测试
  5. 【RecyclerView】 七、RecyclerView.ItemDecoration 条目装饰 ( getItemOffsets 边距设置 )
  6. Python 技术篇 - 查看python库都包含什么方法,查看python模块某个方法的具体用法源码,查看python模块所在的物理位置,查看python库都包含哪些属性
  7. ActiveMQ专题2: 持久化
  8. Windows 7 SP1意味着XP降级的结束
  9. 客户服务器与p2p文件分发,P2P大文件分发技术 | 点量软件
  10. javaScript之原生js封装组件(弹窗为例)
  11. 使用前端方式挑战 Chrome 小恐龙游戏高分
  12. SpringCloud (五) ——Feign远程调用
  13. 计算机名字好听的,好听的昵称大全
  14. Python教程(从不懂到入门)
  15. 看完这些治愈的VR全景风景,相信你一定会心驰神往
  16. 【排序算法】冒泡排序、简单选择排序、直接插入排序比较和分析
  17. CT医学影像的窗高窗位、CT值(Hu值)
  18. 复旦大学日月光华BBS进站画面和壁纸
  19. 利用新浪微博第三方认证OAuth登录自己的网站
  20. 我和仙女们不可不说的故事-II

热门文章

  1. stata面板数据gmm回归_【stata】面板GMM估计
  2. 2020 年最全 Python 面试题汇总 (四)
  3. 首个金融领域的开源中文预训练语言模型FinBERT了解下
  4. 购物场景的对话流程如何实现?
  5. 无监督构建词库:更快更好的新词发现算法
  6. NeuSomatic:基于深度CNN的肿瘤体细胞突变检测工具
  7. 经典论文复现 | 基于深度学习的图像超分辨率重建
  8. 回归理性 务实推进 迎接AI新时代 2018中国人工智能大会完美收官
  9. 利用条件GANs的pix2pix进化版:高分辨率图像合成和语义操作 | PaperDaily #23
  10. AI识虫:林业病虫害数据集和数据预处理方法