MySQL语法整理

一、基本语句

(大写的代表固定语句,小写的代表自己命名部分)

1. 数据库部分

    增:CREATE DATABASE database_name;

    删:DROP DATEBASE database_name;

    用:USE database_name;

2. 数据表部分

 增:CREATE TABLE table_name ( field1 field1_type, field2 field2_type,...fieldN fieldN_type);

 删:DROP TABLE table_name;

3. 数据部分

 增:INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );

 删:DELETE FROM table_name WHERE Clause;

 改:UPDATE table_name SET field1=new_value1, field2=new_value2 WHERE Clause;

 查:SELECT field1,field2 FROM table_name WHERE Clause;

二、常用短语

              案例表:student

                             

                            teacher

                            

1. LIKE:用于做字符匹配,后面跟‘后面跟匹配条件’,‘%’代表一个通配符

    通配符匹配规则:(条件没有通配符而是具体值的,LIKE 相当于 '=')

               

            写法:SELECT field FROM table_name WHERE field LIKE condition1;

              示例:选出所有姓张的学生

       SELECT * FROM student WHERE name LIKE '张%';

                         

2. UNION:用于做集合,连接两个 SELECT 语句得到的字段,得到一张新表显示出来。两边的字段数目必须相同

     写法:SELECT field1 FROM table_name1 WHERE Clause1 UNION field2 FROM table_name2 WHERE Clause2;

                  示例:查找所有男老师和男学生的名字和地址

        SELECT name,address FROM teacher WHERE gender='男' UNION SELECT name,address FROM student WHERE gender='男';

                              

3. ORDER BY:用于做排序,根据某个字段的值为数据排序

                           写法:SELECT field FROM table_name ORDER BY field;

                           示例:从低到高显示学生成绩

                                      SELECT * FROM student ORDER BY score;

                           补充:ORDER BY 默认是升序(ASC),如果想要降序(DESC),后面需要加上 DESC 

                           示例:从高到低显示学生成绩

                                       SELECT * FROM student ORDER BY score DESC;

                                       

4. GROUP BY:用于做分组,根据一个列或多个列的结果进行分组,结果一样的分为同一组,常搭配 COUNT() 使用

                           写法:SELECT field, function() FROM table_name WHERE Clause GROUP BY field;

                           示例:按学生性别进行分组,并进行人数统计

                                       SELECT gender,COUNT(*) FROM student GROUP BY gender;

                                       

5. JOIN:用于做连接,从多个表里读取数据,得到一张新表显示出来,常搭配 ON 使用,用 a 表示左表,b 表示右表。一共有三种连接方式

              (1)INNER JOIN(内连接):获取两个表中字段匹配关系的记录(默认 INNER 可省略)

                        

                       写法:SELECT a.field,b.field FROM table_name1 a JOIN table_name2 b ON Clause;

                       示例:查找地址一样的老师和学生的名字

                                  SELECT a.name,b.name,a.address FROM student a JOIN teacher b ON a.address=b.address;

                                  

             (2)LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录

                      

             (3)RIGHT JOIN(右连接):获取右表所有记录,即使左表没有对应的匹配记录
                       

6. IS NULL:用于判断字段是否为空,空返回 true,不空返回 false

                     写法:SELECT field FROM table_name WHERE field IS NULL;

                     示例:查看没有填地址的老师(注意 null 不是空白)

                                SELECT * FROM teacher WHERE address IS NULL;

                                

三、常用函数

          函数没有什么好讲的+不重复造轮子+写得没别人好=直接贴链接:https://blog.csdn.net/sinat_38899493/article/details/78710482

猜你喜欢

转载自blog.csdn.net/Jeeson_Z/article/details/82833242
今日推荐