MySql记录
1.union会自动将重复的行消除
2.group by XX 之后不可以跟and 或 or
3.from可以是子查询返回的一个表,但这个表一定要取个名字
4.索引越多,性能不一定越好
5.子查询是一个嵌套在另一个select语句中的select语句
6.group_concat:select group_concat(字段) from 表 where 条件 group by 分组;会按照分组,将一个组的“字段”拼接起来。可以使用concat
7.创建utf-8数据库:CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
8.更改数据库字符集:ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_
general_ci;
9.创建表的语法:
MySQL中create table语句的基本语法是:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options] [select_statement]
TEMPORARY:该关键字表示用MySQL create table新建的表为临时表,此表在当前会话结束后将自动消失。临时表主要被应用于存储过程中,对于目前尚不支持存储过程的MySQL,该关键字一般不用。
IF NOT EXISTS:实际上是在建表前加上一个判断,只有该表目前尚不存在时才执行create table操作。用此选项可以避免出现表已经存在无法再新建的错误。
tbl_name:你所要创建的表的表名。该表名必须符合标识符规则。通常的做法是在表名中仅使用字母、数字及下划线。例如titles、our_sales、my_user1等都应该算是比较规范的表名。
create_definition:这是MySQL create table语句中关键部分所在。在该部分具体定义了表中各列的属性。
column_definition: #对列的属性的定义,格式如下
col_name type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string']