MySQL一段时间学习总结

    xiaoxiao2025-05-03  7

      看完了慕课网上的与MySQL的零接触课程,对MySQL有了浅薄的认识,知道了一些简单的操作语句和几种约束等概念,虽然知道自己学到的知识太少了,但是为了进一步的学习有必要进行一些总结。

      首先是一些操作语句的汇总([]中代表可省略,{}表示选择一个):

    1,修改MySQL语句的提示符,有两种方式,一种是在连接客户端时通过参数指定:shell>mysql -u用户名  -p密码 -prompt 提示符;一种是在连接上客户端后通过prompt命令进行修改mysql>prompt 提示符

    2,创建数据库:CREATE {DATABASE|SCHEMA} [IF NOT EXISTS} db_name [DEFAULT] CHARACTER SET [=] charset_name;

    3,查看当前服务器下的数据库列表:SHOW {DATABASES|SCHEMAS} [LIKE 'pattern'| WHERE expr];

    4,打开数据库:USE db_name;

    5,查看已经打开的数据库:SELECT DATABASE();

    6,修改数据库:ALTER {DATABASE|SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;

    7,删除数据库:DROP {DATABASE|SCHEMA} [IF EXISTS] db_name;

    数据表是数据库的重要组成部分,是其他对象的基础,一下是针对数据表的一些操作指令:

    8,创建数据表:CREATE TABLE [IF NOT EXISTS} tb_name(

                                column1_name  data_type,

        column2_name  data_type,

        column3_name  data_type

                                );

    9,查看数据库列表:SHOW TABLES [FROM db_name] [LIKE ‘pattern' |WHERE expr];

    10,查看数据表结构:SHOW COLUMNS FROM tb1_name;

    11,,插入记录:INSERT [INTO] tbl_name [(col_name,...)] VALUES (v1,...);不加col_name则每个字段都要赋值

    12,可以在创建数据表的同时将查询结果写入数据表:CREATE TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] select_statement;

    13,记录的查询:SELECT expr FROM tbl_name;每个查询表达式表示想要查询的至少一列。如果要显示所有列的记录用SELECT *FROM tbl_name,查询语句中可用AS为表赋别名,可用GROUP BY进行查询结果的分类:GROUP BY {col_name|position}[ASC|DESC],...},可用HAVING 进行分组条件:HAVING  condition,此处注意condition中的列名称需要在SELECT中,可用ORDER BY对查询结果进行排序,ORDER BY {col_name|expr|position}[ASC|DESC],可用LIMIT限制查询结果返回的数量:LIMIT {[offset,] row_count| row_count OFFSET offset}

    14,关于子查询:子查询是指出现在其他SQL语句内的SELECT子句,例如:SELECT *FROM t1 WHERE col1 = (SELECT col2 FROM t2);

    子查询的外层查询可以是SELECT,INSERT,UPDATE,SET或DO,子查询的赶回可以是标量,一行,一列,一个表或者子查询。使用比较运算符的子查询通常用ANY、SOME或ALL修饰,如下表:

     ANYSOMEALL>、>=最小值最小值最大值<、<=最大值最大值最小值=任意值任意值 <>,!=  任意值 使用[NOT]IN的子查询:=ANY运算符与IN 等效,!=ALL 或者<>ALL运算符与NOT IN 等效。

    15,连接:table_reference {[INNER|CROSS] JOIN |{LEFT|RIGHT}[OUTER] JOIN} table_reference_name ON conditional_expr;几种连接的区别:内连接(INNER JOIN,JOIN,CROSS JOIN)显示坐标及右表中符合条件的记录。左外连接:显示左表中全部记录和右表中符合条件的记录。右外连接:显示左表中全部记录和右表中符合条件的记录。连接中还存在一种特殊情况自身连接。连接的时候一般会给表取别名。

    16,单表更新:UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1 = {expr1|DEFAULT} [,col_name2={expr2|DEFAULT}]...[WHERE where_condition];

    17,多表更新(参照其他表来进行本表的更新,不要理解为几张表一同更新):UPDATE table_reference {[INNER|CROSS] JOIN |{LEFT|RIGHT}[OUTER] JOIN}                                table_reference ON conditional_expr  

    SET col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}]...[WHERE where_condition];

    18,单表删除记录:DELETE FROM tb1_name [WHERE where_condition];

    19,多表删除记录:DELETE tbl_name[.*] [,tbl_name[.*]]...FROM table_reference {[INNER|CROSS] JOIN |{LEFT|RIGHT}[OUTER] JOIN}   table_reference  ON conditional_expr  [WHERE where_condition];

    先总结到这儿啦,以后学到新的东西继续补充!

                        

    转载请注明原文地址: https://ju.6miu.com/read-1298711.html
    最新回复(0)