#======================================
#平台:windows7
#MYsql版本:mysql-5.5.62-winx64(安装版)
#MYsql工具:SQLyog - 64 bit、Navicat Premium 12
工具包地址:
#======================================
1、连接MYSQL:mysql -u root -p; //命令行界面运行
2、创建数据库TT :CREATE DATABASE TT
3、删除数据库TT:DROP DATABASE TT
4、查看默认存储引擎:SHOW VARIABLES LIKE "storage_engine%"; //默认是InnoDB
5、修改默认存储引擎: 进入配置文件my.ini,修改default-storage-engine=INNODB为default-storage-engine=MyISAM(需要重启服务)
6、MYSQL几个常用数据引擎的区别,如何选择?
区别:
MyISAM | 访问速度快,但不支持事务,也不支持外键 |
INNODB | 支持事务,支持事务的提交、回滚、崩溃修复,安全性高,但速度慢,占用大 |
MEMORY | 存储速度快,但无安全保障,适合数据较小,快速访问需求的支持 |
如何选择:
a. 是否要支持事务,如果要请选择innodb,如果不需要可以考虑MyISAM;
b. 如果表中绝大多数都只是读查询,可以考虑MyISAM,如果既有读写也挺频繁,请使用InnoDB。
c. 系统崩溃后,MyISAM恢复起来更困难,能否接受;
d. MySQL5.5版本开始Innodb已经成为Mysql的默认引擎(之前是MyISAM),说明其优势是有目共睹的,如果你不知道用什么,那就用InnoDB,至少不会差。
7、创建表:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40)
);
8、表操作
//修改表的关键词是:ALTER
查看表结构 | DESCRIBE table_name;或者DESC table_name(简写) |
查看表详细信息 | SHOW CREATE TABLE table_name |
删除表 | DROP TABLE table_name;(需谨慎操作) |
重命名 | ALTER TABLE table_name RENAME new_name; |
增加字段 | ALTER TABLE table_name ADD 字段名 字段类型 |
删除字段 | ALTER TABLE table_name DROP 字段名 |
修改字段的数据类型 | ALTER TABLE table_name MODIFY 字段名 数据类型 |
修改字段的名字和属性 | ALTER TABLE table_name CHANGE 旧名 新名 新数据类型 |
修改字段的位置顺序 | ALTER TABLE table_name MODIFY 字段1 数据类型 FIRST (将字段移到最前面)
ALTER TABLE table_name MODIFY 字段1 数据类型 AFTER 字段2 (将字段移到字段2的后面)
|
9、表的约束
关键字 | 含义 |
NOT NULL | 值不能为空 |
DEFAULT | 设置字段的默认值 |
UNIQUE KEY(UK) | 字段值唯一 |
PRIMARY KEY(PK) | 设置主键,可以作为表的唯一标识 |
AUTO_INCREMENT | 值可以自动增加 |
FOREIGN KEY(FK) | 设置表的外键 |
l NOT NULL
create table user(
id int(11) not null,
age int(11),
sex varchar(255));
//创建的时候加上NOT NULL 即可
l DEFAULT
create table user(
id int(11),
age int(11),
sex varchar(255) default '女');
l UK(保证该记录中没有字段的值重复)
create table user(
id int(11) unique,
age int(11),
sex varchar(255));
l PK(给主键约束设置一个名字)
create table user(
id int(11) ,
name varchar(11),
sex varchar(255),
constraint 约束名 primary key(字段名1)
);
l AUTO_INCREMENT
create table user(
id int(11) auto_increment,
age int(11),
sex varchar(255));
l FK(保证了多表之间的参照完整性,构建的是两个表的两个字段时间的参照关系)
create table t_employee(
Empno int primary key,
Ename varchar(20),
deptno int,
constraint fk_deptno foreign key(deptno)
references t_dept(deptno);
(注意:子表中创建的外键的数据类型必须与父表中所参考的字段的数据类型一致,否则会报错)