分享更有价值
被信任是一种快乐

数据库基础中的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.pro免费主机域名ducts; //完全限定(列和表)  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=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
关于数据库基础中的mysql语句有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注云技术行业资讯频道了解更多相关知识。

相关推荐: PostgreSQL中B-Tree索引的物理存储内容有哪些

本篇免费主机域名内容主要讲解“PostgreSQL中B-Tree索引的物理存储内容有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中B-Tree索引的物理存储内容有哪些”吧!创建数据表,插入…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册