2018/08/07--mysql数据库

关于大小写:

SQL语句不区分大小写。SELECT、select  、Select都是可以的。

许多SQL开发人员喜欢对所有SQL关键字使用大写,对所有表名和列使用小写,这样使代码更加易于阅读和调试。    

关于空格:

SQL语句中,所有空格都会被忽略。

SQL语句可以在一行给出,也可以分成多行,

多数SQL开发人员将SQL语句分成多行,这样使代码更容易阅读和调试。

USE  数据库名 

SHOW DATABASES;

SHOW TABLES;

SHOW COLUMNS FROM   表名;  或者 DESCRIBE 表名;

SHOW CREATE DATABASE 数据库名;

SHOW CREATE TABLE 表名;

SHOW STATUS;

SHOW ERRORS;

SHOW WARNINGS;

SELECT prod_name FROM products;

SELECT prod_id,prod_name,prod_price FROM products;

SELECT * FROM products;

SELECT DISTINCT vend_id FROM products;

SELECT prod_name FROM products LIMIT 5;

SELECT prod_name FROM products LIMIT 5,5;//从第5行开始的5行(第5,6,7,8,9行)

SELECT prod_name FROM products LIMIT 2,3;//从第2行开始的3行(第2,3,4行)

SELECT prod_name FROM products LIMIT 3 OFFSET 2 ;//从第2行开始的3行(第2,3,4行)

SELECT products.prod_name FROM products;

SELECT host,user,password FROM mysql.user;

关于通配符:

通配符*

关于DISTINCT:

关键字DISTINCT 必须放在列名前面;

不能部分使用DISTINCT,DISTINCT关键字应用于所有列,而不仅仅是前置它的列。

每列值完全相同才会被过滤,比如,

SELECT  DISTINCT  vend_id,prod_price FROM  products;除非vend_id,prod_price都不同,否则所有行都会被检索出来。

比如表 products中 如下两行:

vend_id  prod_price

xxx1       yyy2             第0行,用a标识

xxx2       yyy2             第1行,用b标识

SELECT DISTINCT vend_id,prod_price FROM products;

如果a.vend_id == b.vend_id && a.prod_price == b.prod_price

即 xxx1 == xxx2 && yyy1 == yyy2;

那么DISTINCT vend_id ,prod_price后,第0行的将被检索出来,第1行的将不被检索出来。

关于LIMIT X,Y 或者 LIMIT Y OFFSET X:

SELECT prod_name FROM products;

搜索结果如下:

prod_name

xxx1  第0行

xxx2  第1行

xxx3  第2行

xxx4  第3行

xxx5  第4行

xxx6  第5行

xxx7 第6行

xxx8 第7行

SELECT prod_name FROM products LIMIT 2,3;

搜索结果是:从第2行开始的3行,即第2,3,4行

prod_name

xxx3 

xxx4

xxx5

关于完全限定名:

可完全限定 表名、列名

SHOW DATABASES;

USE information_schema;

SELECT host,user,password FROM user;

ERROR 1109(42S02):Unknown table 'user' in information_schema

SELECT host,user,password FROM mysql.user;

关于自动增量:

某些表列需要唯一值;

每往表中添加一行,AUTO_INCREMENT 就会自动为每行分配一个可用的唯一的编号,而不需要一个个手动分配唯一编号;

如果某列指定为AUTO_INCREMENT,此时,在INSERT语句中指定值,该值唯一,那么该值会替代自动生成的值,且后续增增量会开始使用这个手动插入的值;

获取AUTO_INCREMENT的值:SELECT last_insert_id();

一张表中只允许一个AUTO_INCREMENT 列,且必须被索引(比如指定为主键)

猜你喜欢

转载自blog.csdn.net/qzw752890913/article/details/81475534
今日推荐