002—MYSQL基础

#======================================

#平台:windows7        

#MYsql版本:mysql-5.5.62-winx64(安装版)

#MYsql工具:SQLyog - 64 bitNavicat Premium 12

工具包地址:https://pan.baidu.com/s/17SOAmwcgOw9hYtTzDb9-Tw

#======================================

 

1、连接MYSQLmysql -u root -p;    //命令行界面运行

 

2、创建数据库TT CREATE DATABASE TT  

 

3、删除数据库TTDROP DATABASE TT

 

4、查看默认存储引擎:SHOW VARIABLES LIKE "storage_engine%";     //默认是InnoDB

 

5、修改默认存储引擎: 进入配置文件my.ini,修改default-storage-engine=INNODBdefault-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 字段数据类型 FIRST (将字段移到最前面)

 

ALTER TABLE table_name MODIFY 字段数据类型 AFTER 字段2  (将字段移到字段2的后面)

 

 

9、表的约束

关键字

含义

NOT NULL

值不能为空

DEFAULT

设置字段的默认值

UNIQUE KEYUK

字段值唯一

PRIMARY KEYPK

设置主键,可以作为表的唯一标识

AUTO_INCREMENT

值可以自动增加

FOREIGN KEYFK

设置表的外键

 

NOT NULL

 

create table user(

id int(11) not null,

age int(11),

sex varchar(255));

//创建的时候加上NOT NULL 即可

 

DEFAULT

 

create table user(

id int(11),

age int(11),

sex varchar(255) default '');

 

UK(保证该记录中没有字段的值重复)

create table user(

id int(11) unique,

age int(11),

sex varchar(255));

 

PK(给主键约束设置一个名字)

create table user(

id int(11) ,

name varchar(11),

sex varchar(255),

constraint 约束名 primary key(字段名1)

);

 

AUTO_INCREMENT

create table user(

id int(11) auto_increment,

age int(11),

sex varchar(255));

 

FK(保证了多表之间的参照完整性,构建的是两个表的两个字段时间的参照关系)

create table t_employee(

Empno int primary key,

Ename varchar(20),

deptno int,

constraint fk_deptno foreign key(deptno) 

references t_dept(deptno);

 

注意:子表中创建的外键的数据类型必须与父表中所参考的字段的数据类型一致,否则会报错)


猜你喜欢

转载自blog.51cto.com/6854290/2327574
002