资讯专栏INFORMATION COLUMN

MySql 常用命令总结

xiaowugui666 / 1280人阅读

摘要:也就是条数据注意代表的是查询的数量单字段排序查询语句用于根据指定的列对结果集进行排序,默认按照升序对。求最大值和最小值和也可用于文本列,以获得按字母顺序排列的最高或最低值。

注意事项:

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 1、根据 id 查询
SELECT name , age , id  FROM user where id = 2 ;

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

2、根据 name 查询
SELECT name , age , id  FROM user where name = "tom" ;

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

3、逻辑查询:大于
SELECT * FROM `user` WHERE id > 5  ;

从user表中查询 id 值 大于 5 的所有name、age、id 的属性值
所有的逻辑运算符都支持: 大于 > 、 小于 < 、 大于等于 >= 、 小于等于 <= 、 等于 = 、 不等 != (或者 <>)

4、逻辑查询:BETWEEN
SELECT * FROM `user` WHERE id BETWEEN 3 AND 8  ;

user : 表名

id : 字段名

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

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

5、逻辑查询:in
SELECT * FROM `user` WHERE age in ( 12 , 18 )  ;

user : 表名

age : 字段名

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

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

5、模糊查询 like 1、模糊查询:以某字符开头
SELECT * FROM student WHERE phone LIKE "1825%"

student : 表名
phone : 字段名 代表手机号

LIKE : 模糊查询

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

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

2、模糊查询:多个条件
SELECT * FROM student WHERE phone LIKE "182%" AND `name` LIKE "zhang%"   ;

student : 表名

phone : 字段名 代表手机号

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

3、模糊查询:通配符
SELECT * FROM student WHERE phone LIKE "1825110114_"

student : 表名

phone : 字段名 代表手机号

LIKE : 模糊查询

_ : 代表一个字符

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

5、模糊查询:包含
SELECT * FROM student WHERE phone LIKE "%114%" ;

student : 表名

phone : 字段名 代表手机号

LIKE : 模糊查询

% : 代表任意一个或多个字符 , 可匹配任意类型和长度的字符。
从student表中查出手机号包含114的所有信息

6、模糊查询:取消通配符
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 语句用于根据指定的列对结果集进行排序,默认按照升序对。

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 : 视图的名字

八:子查询 1、 查询 video 表里面 status 字段为0 的前5条数据,并且按照 id 降序排列
select t.* from (select * from video where status = 0 limit 5) as t order by t.id desc ; 

这里的 select * from video where status = 0 limit 5 相当于一个临时表,用别名t代替。


个人微信号:zhaoyanjun125 , 欢迎关注

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/3114.html

相关文章

  • docker 常用命令总结

    摘要:镜像常用操作提示有权限问题,请在命令前加操作命令举例备注登录用户名密码拉取镜像上传镜像先登录查看本地镜像全部只显示删除镜像强制删除标记镜像导出镜像可以一次性导出多个镜像导出镜像并压缩导入镜像用于镜像备份容器常用操作操作命 镜像常用操作 提示有权限问题,请在命令前加sudo 操作 命令 举例 备注 登录docker hub docker login -u xxx -p xxx ...

    MyFaith 评论0 收藏0
  • 后端知识点总结——MYSQL

    摘要:最早由公司提出的,后来由采纳为关系型数据库行业国际标准,先后推出了多个版本,如目前各大数据库厂家所支持。非空约束声明为非空的列,不能出现,但可以出现重复值。自增列无需手工赋值,会自动采用数列,在当前最大值基础上。 后端知识点总结——MYSQL 1.软件工程 IBM => DOS(Bill Gates) => MicroSoft => Windows 软件工程学科包含: (...

    ZHAO_ 评论0 收藏0
  • 后端知识点总结——MYSQL

    摘要:最早由公司提出的,后来由采纳为关系型数据库行业国际标准,先后推出了多个版本,如目前各大数据库厂家所支持。非空约束声明为非空的列,不能出现,但可以出现重复值。自增列无需手工赋值,会自动采用数列,在当前最大值基础上。 后端知识点总结——MYSQL 1.软件工程 IBM => DOS(Bill Gates) => MicroSoft => Windows 软件工程学科包含: (...

    fizz 评论0 收藏0
  • 后端知识点总结——MYSQL

    摘要:最早由公司提出的,后来由采纳为关系型数据库行业国际标准,先后推出了多个版本,如目前各大数据库厂家所支持。非空约束声明为非空的列,不能出现,但可以出现重复值。自增列无需手工赋值,会自动采用数列,在当前最大值基础上。 后端知识点总结——MYSQL 1.软件工程 IBM => DOS(Bill Gates) => MicroSoft => Windows 软件工程学科包含: (...

    youkede 评论0 收藏0
  • MySQL常用的字段类型总结

    摘要:最多可存储的文本内容,也就是说在编码下可以存储个英文字母英文符号,而汉字中文符号最多只能存储个。 整型 MySQL 可以为整数类型指定宽度,例如 INT(11),对大多数应用这是没有意义的:它不会限制值的合法范围,只是规定了 MySQL 的一些交互工具(例如 MySQL 命令行客户端)用来显示字符的个数。对于存储和计算来说,INT(1) 和 INT(20) 是相同的。只有使用 ZERO...

    littlelightss 评论0 收藏0

发表评论

0条评论

阅读需要支付1元查看
<