您的位置:首页 > 数据库 > MySQL

MySQL一段时间学习总结

2016-08-14 18:40 337 查看
  看完了慕课网上的与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];

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

    
    
    
    
    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql