zoukankan      html  css  js  c++  java
  • MySql笔记

    show create table 表名     显示创建表的详细命令
     
    ALTER TABLE 表名 ADD(
    列定义1,
    列定义2);     添加列
    MODIFY COLUMN 列名 列属性;     改列字段     (column可不加)
    CHANGE 原列名 新列名 列属性;     改列名
    ALTER TABLE 原表名 RENAME TO 新表名;     改表名
    DROP PRIMARY KEY;     删除主键,如有外键无法删除主键
    ADD CONSTRAINT 约束名 PRIMARY KEY(id);     添加主键
     
     
     
     
     
    COLUMNS --返回表信息
     
    1、检索数据
      LIMIT -- 显示指定行数
      ORDER BY子句 --检索排序     ASC--升序/DESC关键字 --降序
      WHERE --条件过滤  AND OR操作符 IN NOT操作符
       where子句 IS NULL --检查是否空值select
       如果要使用通配符(模糊查询),必须使用LIKE操作符    (%通配符匹配多个,_通配符匹配单个)
       要使用正则表达式,必须使用REGEXP关键字    (like匹配整个列,如果不使用通配符,那么被匹配的文本在列值中出现,like也不会找到他,相应的行也不被返回。而regexp在列值内匹配,被匹配的文  本在列值中出现,regexp会找到它,相应的行被返回)
     
    计算字段(将几列格式化为新计算字段(字段意思基本与列意思相同))
    Concat()函数 --拼接 把值联结到一起构成单个列。 Concat(列名,'','',列名)     (没有列名,需要AS加别名才能给客户机引用)
    AS 关键字 --列名或计算字段赋予别名)
    算数计算 (直接跟检索后边,结果为一列计算过的新计算列。同样需要有列名才可引用)
     
    数据处理函数
    文本各处理函数(详见P69)
     Soundex() -- 文本串转换,字音比较而不是字母比较。详见P70) Soundex(列名)=Soundex('目标串')
    日期时间处理函数 (P71)
    Date() (如果日期时间使用了datatime这种数据类型格式,样例表中就全都具有时间值00:00:00,此时只检索日期就会匹配失败。解决办法指示mysql仅将给出的日期与列中的日期部分进行比较,而不是与整个列值比较) Date(列名)
    聚集函数(运行在行祖上,作为新结果列出现。计算和返回单个值的函数,比如avg(),count(),max(),sum()) //MAX(DISTINCT(列名)) 可加DISTINCT参数,去掉重复值
     
    -------------------------
    数据分组GROUP BY --(允许把数据分为多个逻辑组,以便对每个组进行聚集计算。)
    过滤分组HAVING子句 --(和WHERE类似,差别WHERE用来过滤行,HAVING专门过滤分组。)
     
    子查询(嵌套在其他查询中的查询)
    利用子查询过滤 --(子查询一般与IN () 操作符使用。跟在过滤后面再次查询,过滤)
     
    作为计算字段使用子查询 -- (跟在SELECT后面括号内再次查询)SELECT ..,..,(子查询)as .. FROM
     
    联结(一个表的主键和另一个有此外键的表列的关联) 可以联结多个表返回一组输出。
     
    多个表联结(其他表要包含有能与某张表组成关系的相同的列,--外键值) (联结类型:目前为等值联结,基于两个表之间的相等测试,也叫内部联结)
     
    高级联结
    使用表别名(可以省写调用而不用输入全名) FROM orders AS o,... AS .
    自联结 --通常用于在一张表中替代子查询使用(注意同一张表出现在FROM两次,对其的引用具有二义性,所以需要使用表别名)
    外部联结 -- 与其他联结一样。一个表中行与另一个表中行相关联(主键外键相关联),不一样地方在于也包含了在相关表中没有关联行的行 (此时需要关键字OUTER JOIN 来指定联结类型,)
     
    组合查询(又或者 并union或复合查询,)
    UNION --关键字(可以给出多个SELECT语句,用UNION关键字分隔,把它们的结果组合成单个结果集,必须由两条或以上SELECT语句组成,每个查询必须相同的列,表达式或聚集函数)
     
    全文本搜索(要用到全文本搜索,需要使用MyISAM数据库引擎,InnoDB引擎不支持)
    FULLTEXT() 子句 (用在语句定义表时) --对指定列或多个列进行索引。(mysql自动维护该索引,增删改行时,索引随之自动更新)
    Match() Against()进行全文本搜索 Match() --指定被搜索的列 Against('')指定要使用的搜索表达式。(这两个函数用在WHERE后)
    IN BOOLEAN MODE关键字 --布尔文本搜索。在搜索表达式内和布尔操作符一起进行更细致的查找控制作用 例:Against('rabbit -bai*' IN BOOLEAN MODE)匹配rabbit词,但排除包含有以bai开头的词(全文本布尔操作符详见P128)(布尔搜索方式即使没有定义FULLTEXT索引,也可以使用)
     
    插入数据
    INSERT INTO 表名 VALUES () (若要指定插入数据的顺序,表名后跟括号指定他们的顺序。否则按默认顺序)
    插入多行 VALUES (),()... 每行以逗号分隔
    INSERT INTO 表名() SELECT FROM...(INSERT SELECT 插入其他表检索出的数据)列名、顺序必须一致,可包含WHERE子句过滤插入的数据
     
    更新和删除数据(注意更新、删除如果没有WHERE条件将选择所有行进行操作)
    UPDATE --更新数据 UPDATE 表名 SET ... WHERE (更新某个或多个列值数据) 更新多个列应以逗号分隔。如果要删除某个列值,将其=NULL即可
    DELETE --删除数据 DELETE FROM 表名 WHERE (删除特定行)
     
    操纵表
    CREATE TABLE 表名 --(创建表基础)CREATE TABLE 表名(    表定义-列名,数据类型,是否NULL(前两项必须)        )ENGINE=InnoDB  其余可加的关键字 自增AUTO_INCREMENT 主键PRIMARY KEY ()
    ALTER TABLE 表名 --(更改表结构,可以添加一个列或删掉一个列),ADD 列名 CHAR(20);必须明确其数据类型,DROP COLUMN 列名    |    ALTER TABLE的常见用途是定义外键。FOREIGN KEY 约束,引用完整性(解释说明https://blog.csdn.net/haiross/article/details/50435374) 定义主键和外键主要是为了维护关系数据库的完整性。外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。A表的此字段,如果要插入一行,值必须要和B表主键某一项列值一致。https://blog.csdn.net/bestlove12345/article/details/52127061
    DROP TABLE 表名 --(删除整个表而不是删除其内容)
    RENAME TABLE --(重命名表名)例:RENAME TABLE vendnew TO vendnewnew
     
     
    视图(简化复杂SQL语句的使用,如联结 利用视图可以一次性编编写基础的SQL,然后根据需要多次使用)
    CREATE VIEW --(创建视图)CREATE VIEW vendor1 AS SQL语句...        使用视图时直接正常检索 FROM 改为视图名 (因为视图可以理解是一张虚拟的表)
     
    存储过程(情景:需要多条语句才能完成的完整的操作。)通过把处理。封装在容易使用的单元中(或理解为方法),简化复杂的操作。
    CREATE PROCEDURE --(创建存储过程) CREATE PROCEDURE 存储过程名(参数的传入传出处理) BEGIN ....  END;(顿号部分为存储过程代码,例如select max(liushui) from richang; INTO 变量)
    CALL --(调用存储过程)CALL 存储过程名(@传递的参数)    注意:调用这条语句不显示任何数据,它返回存储过程处理过的以后可以显示(或其他处理中使用的)变量。  如果想要想要显示:select @变量名
     
    游标(由一条SQL检索出来的结果集,就是游标,沿着游标可以一次取出一行,或前后几行。与检索操作返回的相匹配的行(结果集)不同) DECLARE 游标名 CURSOR FOR 检索SQL 条件语句(条件出现执行的代码); 游标在存储过程里使用
     
    CREATE TABLE 新表名 LIKE 旧表名 -- 复制表的列构造
     
    事务处理
    自动提交功能,
    AUTOCOMMIT=1(每条SQL直接自动提交)
    AUTOCOMMIT=0(可以ROLLBACK回滚操作,但此后如果不执行COMMIT,所有更新的内容不会反映到数据库中)
    SAVEPOINT 保存点名 -- 事务中定义一个保存点,可用 ROLLBACK TO SAVEPOINT 保存点名回滚到此时状态
  • 相关阅读:
    centos 安装 TortoiseSVN svn 客户端
    linux 定时任务 日志记录
    centos6.5 安装PHP7.0支持nginx
    linux root 用户 定时任务添加
    composer 一些使用说明
    laravel cookie写入
    laravel composer 安装指定版本以及基本的配置
    mysql 删除重复记录语句
    linux php redis 扩展安装
    linux php 安装 memcache 扩展
  • 原文地址:https://www.cnblogs.com/likoo/p/11681828.html
Copyright © 2011-2022 走看看