mysql基础

Posted 这个名字怎么用不了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql基础相关的知识,希望对你有一定的参考价值。

mysql是关系型数据库。SQL:结构化语句。mysql是c/s 结构。

mysql配置环境变量网上搜有的是。如果不用cmd命令行打开mysql就不需要配置环境变量,因为不配置环境变量,使用命令行打开需要把mysql启动程序路径输入进去才行。

类似上面的这种。很麻烦。配置环境变量之后,就可以直接输入mysql  启动。更方便而已。

命令:  \\c      清除命令  \\q    exit;  \\quit   都是退出mysql命令。

创建的数据库都在mysql目录下的data目录中。没有修改数据库名字的命令,只能去data目录中修改数据库名字。(实际中不需要修改数据库名)

注意mysql命令创建表的时候,最后一个)前不能有逗号,这个错误不容易被发现。

group by的原理

  1. mysql中直接在某一个列中插入false,会转成整数 0。插入字符串的false 在数据库中存储的才是false。
  2. mysql中的空值和null不是一回事,空值是插入一个空字符串,空值是不占用空间的,而null是占用额外的空间的,用来标记值是否为null。空格也能插入数据库中,但它不是空值,它有长度。(NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte.)
  3. select * from tablename where columnname <> \'\'     和  select * from tablename where column is not null     查询的结果是不一样的,前者查的是不为空值,后者查的是不为null的。
  4. null值不被记录在索引上的,索引的字段有null会降低效率。
  5. 对于timestamp数据类型,如果往这个数据类型的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 ‘0000-00-00 00:00:00’。 
  6. mysql 写原生语句注意:字符串必须加引号,例如 "select id,name from goods where name = \'{$name}\'   "; 如果name不加引号报错。还有原生语句的关键字顺序不能反,比如之前遇到的 group  by 必须在 order by  之前,否则报错:access violation.......不是原生语句不用管顺序,但是应该养成好习惯。

以上是关于mysql基础的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

从mysql的片段中加载ListView

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段