Tekkaman

导航

 

MySql初步II

1、Order By 

  

  • 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升排列。

  实例:

  
2、Join语法

  Join不是一个关键字

  

3、Left Join

  MySQL left join 与 join 有所不同。 MySQL LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。

    

  以上实例中使用了LEFT JOIN,该语句会读取左边的数据表tutorials_tbl的所有选取的字段数据,即便在右侧表tcount_tbl中没有对应的tutorial_author字段值。

4、NULL的使用

  

  关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。

  在MySQL中,NULL值与任何其它值的比较(即使是NULL)永远返回false,即 NULL = NULL 返回false 。

  MySQL中处理NULL使用IS NULL和IS NOT NULL运算符。

  

  以下实例中你可以看到 = 和 != 运算符是不起作用的:

  

  查找数据表中 tutorial_count 列是否为 NULL,必须使用IS NULL和IS NOT NULL,如下实例:

  

5、使用正则表达式过滤。

  查找name字段中以'st'为开头的所有数据:

  

  查找name字段中以'ok'为结尾的所有数据:

  

6、使用Alter修改字段。

  如下命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:

  

  如果数据表中只剩余一个字段则无法使用DROP来删除字段。

  MySQL 中使用 ADD 子句来想数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型:

  

  如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。

  

  Modify可以个性类型,Change子句可以个性类型及名称。

  

  

  设置非空与默认值。

  当你修改字段时,你可以指定是否包含只或者是否设置默认值。

  以下实例,指定字段 j 为 NOT NULL 且默认值为100 。

  

  

  通过DROP删除默认值。

  

  使用rename修改表的名称。

  

7、索引。

  如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。

  但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

  建立索引会占用磁盘空间的索引文件。

8、临时表。

  MySQL临时表只在当前连接可见,如果你使用PHP脚本来创建MySQL临时表,那没当PHP脚本执行完成后,该临时表也会自动销毁。

  如果你使用了其他MySQL客户端程序连接MySQL数据库服务器来创建临时表,那么只有在关闭客户端程序时才会销毁临时表,当然你也可以手动销毁。

  

  当你使用 SHOW TABLES命令显示数据表列表时,你将无法看到 SalesSummary表。

  如果你退出当前MySQL会话,再使用 SELECT命令来读取原先创建的临时表数据,那你会发现数据库中没有该表的存在,因为在你退出时该临时表已经被销毁了。

  使用 drop table 可删除临时表。

    

9、查看当前状态。

  

 

  

 

posted on 2016-01-19 20:31  Tekkaman  阅读(285)  评论(0编辑  收藏  举报