iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >数据库基础中的mysql语句有哪些
  • 361
分享到

数据库基础中的mysql语句有哪些

2024-04-02 19:04:59 361人浏览 八月长安
摘要

数据库基础中的Mysql语句有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  数据库与数据库软件:  数据库是数据容器,可以理解为文

数据库基础中的Mysql语句有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

  数据库与数据库软件:

  数据库是数据容器,可以理解为文件,数据库软件是数据库管理系统,

  提供用户对数据库文件的操作

  schama(模式):

  关于数据库和表的布局及特性的信息

  列(column):

  表由列组成,列中存储着表中某部分的信息。

  行(row):

  表中的数据是按行存储的

  主键:

  表中每一行都应该有可以唯一标识自己的一列,称为主键

  主键可以由单个列构成,也可以由多个列构成

  sql

  结构化查询语言,用于和数据库通信

  查询数据库和表命令:

  SHOW DATABASES;

  SHOW TABLES;

  SHOW COLUMNS FROM COLLATioNS; //显示COLLATIONS中的所有列

  auto_increment //自动增量,每添加一个行,该值自动加一

  SELECT prod_name FROM products; //从prducts中检索出prod_name

  SELECT prod_id,prod_name FROM products; //检索多个列

  SELECT DISTINCT vend_id from products; //返回一列中不同的值(过滤掉相同的)

  SELECT prod_name FROM products LIMIT 5; //限制最多输出5行

  SELECT prod_name FROM products LIMIT 4,5; //限制最多从行4输出5行

  SELECT products.prod_name FROM products; //完全限定

  SELECT products.prod_name FROM crashcourse.products; //完全限定(列和表)

  SELECT prod_name FROM products ORDER BY prod_name; //排序

  SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name; //对多个列排序(如果prod_price存在重复,就对prod_name重新排序)

  SELECT prod_name FROM products ORDER BY prod_name DESC/ESC; //排序(升序或降序)

  SELECT prod_id,prod_price,prod_name FROM products WHERE prod_price = 2.5; //使用where过滤(= 《 <> betown等操作)

  SELECT prod_id,prod_price,prod_name FROM products WHERE prod_price BETWEEN 5 AND 10;//在中间

  SELECT prod_id,prod_price,prod_name FROM products WHERE prod_price vend_id = 1003 AND prod_price<=10 3="" 123="" 2005="" and="" select="" prod_name="" from="" products="" where="" vend_id="1003;" prod_price="" not="" like="" vendors="" order="" by="" as="" vend_title="" item_price="" expanded_price="" orderitems="" order_num="20005;" vend_name_upcase="" left="" abc="" right="" length="" lower="" upper="" ltrim="" rtrim="" substring="" bc1="" concat="" abc123xyz="" orders="" between="" avg_price="" num_cust="" max_price="" items_ordered="" total_price="" distinct="" price_avg="" num_prods="" group="" having="" cust_id="">=2;

  使用ORDER BY 实现分组的排序

  SELECT order_num,SUM(quantity*item_price) AS ordertotal FROM orderitems GROUP BY order_num HAVING SUM(quantity*item_price)>=50 ORDER BY ordertotal;

  子查询可以用来减少查询的语句条数

  例如:

  SELECT order_num FROM orderitems WHERE prod_id = 'TNT2'; //返回结果20005,20007

  SELECT cust_id FROM orders WHERE order_num IN(20005,20007)

  SELECT cust_id FROM orders WHERE order_num IN(SELECT order_num FROM orderitems WHERE prod_id = 'TNT2');

  计算字段使用子查询:

  SELECT cust_name,cust_state,(SELECT COUNT(*) FROM orders WHERE orders.cust_id = customers.cust_id) AS orders FROM customers ORDER BY cust_name;

  联结:

  (主键与外键)

  分表是为了更好的存储与提升可伸缩性,但在使用select查询的时候就不得不采用联结的方法

  SELECT vend_name,prod_name,prod_price FROM vendors INNER JOIN products ON vendors.vend_id = products.vend_id'

  表别名能够在单挑SELECT语句中不止一次的引用相同的表

  SELECT prod_id,prod_name FROM products WHERE vend_id = (SELECT vend_id FROM products WHERE prod_id = 'DTNTR');

  自联结方式:

  SELECT p1.prod_id,p1.prod_name FROM products AS p1,products AS p2 WHERE p1.vend_id = p2.vend_id AND p2.prod_id = 'DTNTR';

  外部联结

  联结包含在相关表中没有关联行的行,这种类型的联结成为外部联结

  SELECT customers.cust_id,orders.order_num FROM customers LEFT OUTER JOIN orders ON customers.cust_id = orders.cust_id;

  左向外联结和右向外联结

  左向外联结的结果集包括 LEFT OUTER子句中指定的左表的所有行,而不仅仅是联结所匹配的行

  RIGHT JOIN 和RIGHT OUTER JOIN

  右向外联结是左向联结的反向联结,将返回右表的所有行

  FULL JOIN 或FULL OUTER JOIN

  完整外部联结返回左表和右表的所有行,当某行在另一个表中没有匹配行时,则另一个表的

  选择表列包含空值,如果表之间有匹配行,则整个结果集包含基表的数据值。

  带聚集函数的联结

  SELECT customers.cust_name,customers.cust_id,COUNT(orders.order_num) AS num_ord FROM customers INNER JOIN orders ON customers.cust_id = orders.cust_id GROUP BY customers.cust_id;

  此SELECT语句使用INNER JOIN将customers和orders表相互关联。GROUP BY子句按客户分组数据,因此函数调用COUNT(order.order_num)对每个客户的订单技术,将它作为num_ord返回。

  聚集函数也可以方便的与其他联结一起使用

  SELECT customer.cust_name,customer.cust_id,COUNT(order.oder_num) AS num_ord FROM customers LEFT OUTER JOIN orders ON customers.cust_id = orders.cust_id GROUP BY customers.cust_id;

  组合查询:

  多个查询(多条SELECT语句),并将结果作为单个查询结果集返回

  组合查询的应用场景:

  在单个查询中从不同的表返回类似结构的数据

  对单个表执行多个查询,按单个查询返回数据

  如果使用WHERE:

  SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 OR vend_id IN(1001,1002);   使用UNION:   SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <=5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN(1001,1002);   UNION会自动去重,如果想要匹配所有行,可以使用UNION ALL   SELECT语句的输出用ORDER BY子句排序,在用UNION组合查询时,只能用一条ORDER BY子句。必须出现在最后一条SELECT语句之后。   SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <=5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN(1001,1002) ORDER BY vend_id,prod_price;   INSERT INFO customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cust_email) VALUES('Pep E.LaPew','100 Main Street','Los Angeles','CA','90046','USA',NULL,NULL);   如果想插入多行   INSERT INFO customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cust_email) VALUES(('Pep E.LaPew','100 Main Street','Los Angeles','CA','90046','USA',NULL,NULL)(...));   INSERT SELECT:   //将SELECT语句返回的结果插入到另一张表中,通常用于将一张表导入到另外一张表中   INSERT INFO customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cust_email) SELECT cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cust_email FROM custnew;   更新和删除数据:   更新某一行的数据:   UPDATE customers SET cust_mail = 'elmer@fudd.com' WHERE cust_id = 10005;   更新多行:   UPDATE customers SET cust_mail = 'elmer@fudd.com' ,cust_email = 'elmer@fudd.com' WHERE cust_id = 10005;   IGNORE关键字可以忽略更新过程中的错误   删除数据:   DELETE FROM customers WHERE cust_id = 10006;   1   创建表:   CREATE TABLE customers   (   cust_id int NOT NULL AUTO_INCREMENT,   cust_name char(50) NOT NULL,   cust_address char(50) NULL,   cust_city char(50) NULL,   cust_state char(5) NULL,   cust_zip char(10) NULL,   cust_country char(50) NULL,   cust_contact char(50) NULL,   cust_email char(255) NULL,   PRIMARY KEY(cust_id)   )ENGINE=InnoDB;   NULL值就是没有值或缺值。   更新表ALTER   ALTER TABLE vendors ADD vend_phone CHAR(20);   删除刚刚添加的列:   ALTER TABLE Vendors DROP COLUMN vend_phone;   删除表:   DROP TABLE customers;   重命名表:   RENAME TABLE customers2 TO customers;   视图:   视图是虚拟的表,只包含使用时动态检索数据的查询   使用视图:   使用视图的原因:   重用SQL语句;   简化复杂的SQL语句,在编写查询后,可以方便的重用它而不必知道它的基本查询细节   使用表的组成部分而不是整个表   保护数据,可以给用户授予表的特定部分的访问权限而不是整个表的访问权限   更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。   触发器:   触发器的主要作用是事件发生时某些语句自动执行   CREATE TRIGGER newproduct AFTER INSERT ON products FOR EACH ROW SELECT 'Product added';

关于数据库基础中的mysql语句有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网数据库频道了解更多相关知识。

您可能感兴趣的文档:

--结束END--

本文标题: 数据库基础中的mysql语句有哪些

本文链接: https://www.lsjlt.com/news/61706.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库基础中的mysql语句有哪些
    数据库基础中的mysql语句有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  数据库与数据库软件:  数据库是数据容器,可以理解为文...
    99+
    2024-04-02
  • 在SQL中修改数据的基础语句有哪些
    这篇文章主要介绍了在SQL中修改数据的基础语句有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇在SQL中修改数据的基础语句有哪些文章都会有所收获,下面我们一起来看看吧。什么是修改?在SQL中的基本操作就是增...
    99+
    2023-07-05
  • mysql创建数据库的语句有哪些
    mysql 中创建数据库的方法如下:使用 create database 语句:创建一个数据库,指定名称。指定存储引擎和字符集:为数据库指定存储引擎和字符集。指定模板数据库:复制模板数据...
    99+
    2024-04-05
    mysql
  • mysql中创建数据库的sql语句有哪些
    创建 mysql 数据库的 sql 语句:create database database_name可选参数:character set charset_name:指定字符集collat...
    99+
    2024-04-05
    mysql sql语句
  • Mysql数据库中有哪些常用的sql语句
    Mysql数据库中有哪些常用的sql语句?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SQL语句进阶1.查询字段:————查询所有字段 sel...
    99+
    2024-04-02
  • Mysql数据库维护语句有哪些
    本篇内容主要讲解“Mysql数据库维护语句有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql数据库维护语句有哪些”吧! 1.修改表名  Sql代码 ...
    99+
    2024-04-02
  • 有哪些mysql数据库查询语句
    mysql数据库查询语句有:1、SELECT,从一个或多个表中检索数据;2、INSERT INTO,将新行插入到表中;3、UPDATE,更新表中现有的数据;4、DELETE FROM,从表中删除行;5、WHERE,在SELE...
    99+
    2023-08-14
  • mysql数据库循环语句有哪些
    在MySQL数据库中,可以使用以下循环语句: WHILE循环语句:当给定条件为真时,重复执行代码块。 WHILE conditi...
    99+
    2024-02-29
    mysql数据库
  • MySQL数据库中有哪些基础操作命令
    这篇文章给大家介绍MySQL数据库中有哪些基础操作命令,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。用户与权限创建用户mysql>create user te...
    99+
    2024-04-02
  • MySQL数据库基础知识点有哪些
    这篇文章主要介绍“MySQL数据库基础知识点有哪些”,在日常操作中,相信很多人在MySQL数据库基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库...
    99+
    2024-04-02
  • SQL基础的查询语句有哪些
    这篇文章主要介绍“SQL基础的查询语句有哪些”,在日常操作中,相信很多人在SQL基础的查询语句有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL基础的查询语句有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-25
  • MySQL数据库基础操作命令有哪些
    这篇文章给大家分享的是有关MySQL数据库基础操作命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、使用帮助信息登陆数据库就不介绍了哦,比如说想做创建的数据库的操作,不...
    99+
    2024-04-02
  • mysql中查询数据的语句有哪些
    mysql 查询数据语句包括:select:检索数据order by:排序查询结果group by:按列分组结果having:过滤分组后数据 MySQL 查询数据语...
    99+
    2024-05-01
    mysql 聚合函数
  • MySQL中数据库优化的常见sql语句有哪些
    这篇文章主要介绍“MySQL中数据库优化的常见sql语句有哪些”,在日常操作中,相信很多人在MySQL中数据库优化的常见sql语句有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • Python最常用的函数、基础语句有哪些?
    一、内置函数内置函数是python自带的函数方法,拿来就可以用,比方说zip、filter、isinstance等。下面是Python官档给出的内置函数列表,相当的齐全。下面几个是常见的内置函数:1、​​​enumerate​​​(iter...
    99+
    2023-05-14
    Python 编程语言
  • 大数据基础语法有哪些
    本篇内容主要讲解“大数据基础语法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“大数据基础语法有哪些”吧!1 计算机理论介绍2 编程基础--进制分类、进制转换进制就是进位制。指的是我们来表示...
    99+
    2023-06-02
  • Oracle数据库中有哪些操作语句
    这篇文章将为大家详细讲解有关Oracle数据库中有哪些操作语句,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、Oracle数据库操作1、创建数据库crea...
    99+
    2024-04-02
  • SQL数据库语句有哪些呢
    SQL数据库语句有哪些呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。创建数据库CREATE DATABASE database-name删除数据库dro&...
    99+
    2023-06-22
  • MySQL数据库操作的常用SQL语句有哪些
    MySQL数据库操作的常用SQL语句有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在MySQL数据库操作中,我们常常编写一些SQL语...
    99+
    2024-04-02
  • MySQL中DML数据操作语句有哪些
    小编给大家分享一下MySQL中DML数据操作语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!文章目录一、插入insert...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作