1、mysql默认的存储引擎为InnoDB,InnoDB的优势为:提供良好的的事务管理、崩溃修复能力和并非控制,缺点:读写效率差,占用的数据空间相对比较大。
2、MyISAM存储引擎的文件类型的表存储成3个文件:frm 存储表的结构, myd 存储数据, myi 存储索引。支持3种不同的存储格式:静态型、动态型和压缩型。
MyISAM优点:占用空间小,处理速度快;缺点:不支持事务的完整性和并发性。
3、MEMEORY存储引擎,使用存储在内存中的内容来创建表,而且所有数据也放在内存中。表实际对应一个磁盘文件,类型为frm。优点是速度快,缺点是内存数据容易丢失。
4、mysql支持的数据类型主要分为3类:数字类型、字符串类型、日期和时间类型。
5、描述表的列使用语法 describe 数据表, 如果具体到某一列的语法为 describe 数据表 列名 ;( 注意中间没有符号)。
6、重命名表名 语法: rename table 旧表名 to 新表名
7、仅仅使用语法 “drop table 表名 ” 删除不存在的表一般会导致失败, 如果加入if exsit 则不会出错: “drop table if exsit 表名”
8、使用concat连接字段示例:
mysql> select concat(name,":",id) from tbl_workmates;
+---------------------+
| concat(name,":",id) |
+---------------------+
| James:1 |
| Marry:2 |
+---------------------+
2 rows in set (0.08 sec)
9、sql语句查询中 关于 limit 1,2表示从第二条记录开始的二条记录查询, 索引是从0开始计算的。
10、调整表字段的位置,将age字段调整到name后面, 示例:
mysql> alter table workmates modify age int after name;
Query OK, 2 rows affected (0.06 sec)
Records: 2 Duplicates: 0 Warnings: 0
【注意】:需要带上调整字段的类型,age int。
11、存在外键约束时,不能删除、更新主表,
mysql> create table department (d_id int(4) not null primary key,
-> d_name varchar(20) not null,
-> function varchar(50),
-> address varchar(50)
-> );
Query OK, 0 rows affected (0.06 sec)
mysql> create table worker(id int(4) not null primary key auto_increment,
-> num int(4),
-> d_id int(4),
-> name varchar(20) not null,
-> birthday date,
-> constraint worker_fk foreign key(d_id)
-> references department(d_id)
-> );
Query OK, 0 rows affected (0.13 sec)
alter table worker drop foreign key work_fk;
drop table department;