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'] 
 
原文地址:https://www.cnblogs.com/zaixiuxing/p/5207041.html