MySQL常用语句总结

数据库

创建数据库

CREATE DATABASE [IF NOT EXISTS]数据库名;
--例: 
create DATABASE RUNOOB;

删除数据库

drop database [if EXISTS]<数据库名>;
--例:
drop database RUNOOB;

选择数据库

use RUNOOB; --使用数据库
Database changed

查看数据库

SHOW  DATABASES;

数据库表

创建数据表

CREATE TABLE table_name (column_name column_type)
--例:
CREATE TABLE IF NOT EXISTS 'runoob_tb1'(
       'runoob_id' INT UNSINED AUTO_INCREMENT,
       'runoob_title' VARCHAR(100) NOT NULL,
       'runoob_author' VARCHAR(40) NOT NULL,
       'submission_date' DATE,
       PRIMARY KEY ('runoob_id')
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;

删除数据库表

DROP TABLE table_name;

插入数据

INSERT INTO table_name(field1,field2,...fieldN) VALUES (value1,value2,...valueN)
     --例:
     INSERT INTO runoob_tb1
            (runoob_title,runoob_author,submission_date)
            VALUES
            ("学习MySQL","菜鸟教程","NOW()")

查询数据

SELECT column_name,column_name
     FROM table_name
     [WHERE Clause]
     [LIMIT N][OFFSET M]
  • 使用limit属性来设定返回的记录数
  • 通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0.

WHERE子句

SELECT field1,field2,...fieldN from table_name1,table_name2...
[WHERE condition1 [AND [OR]] condition2......]
select 查询列表 from 表明 where 筛选条件;
UPDATE更新
UPDATE table_name SET field1=new-value1,fields=new-value2
     [WHERE Clause]
--例:列出不是由供应商1003制造的所有产品
select vend_id,prod_name
from products
where vend_id <> 1003;
--范围值检查
select prod_name,prod_price
from products
where prod_price between 5 and 10;

DELETE语句

DELETE FROM table_name [WHERE CLause]

LIKE子句模糊查询

SELECT field1,field2,...fieldN
     FROM table_name
     WHERE field1 LIKE condition1 [AND[OR]] field2='somevalue'
%通配任意字符
_通配单一字符
--例: 
SELECT * from runoob_tb1 WHERE runoob_author LIKE '%COM';

UNION操作符

  • MySQL UNION操作符用于连接两个以上的SELECT语句的结果组合到一个结果集合中。
  • 多个SELECT语句会删除重复的数据。
SELECT expression1, expressio2, ... expression_n
     FROM tables
     [WHERE conditions]
     UNION [ALL|DISTINCT]
     SELECT expression1,expression2,... expression_n
     FROM tables
     [WHERE conditions];

排序

SELECT field1,field2,...fieldN FROM table_name1,table_name2...
     ORDER BY field1 [ASC [DESC][默认 ASC]][field2...][ASC[DESC][默认 ASC]]
select 查询列表
fromwhere 筛选条件
order by 排序列表 asc/desc
  • 可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
  • 可以使用ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。默认情况下,它是按升序排列。
   --例:
   SELECT * from runoob_tb1 ORDER BY submission_date ASC;

GROUP BY分组

SELECT column_name,function(column_name)
FROM table_name
    WHERE column_name operator value
    GROUP BY column_name;
select 分组函数,分组后的字段
     from 表
    【where 筛选条件】
      group by 分组的字段
    【having 分组后的筛选】
    【order by 排序列表】 
  • GROUP BY语句根据一个或多个列对结果集进行分组。
  • 在分组的列上我们可以使用COUNT,SUM,AVG,等函数

限制结果limit

select prod_name
from products
limit 5;
select prod_name
from products
limit 5,5; --limit5,5指示MySQL返回从行5开始的5行。第一个数为开始位置,第二个数为要检索的行数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值