MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
主要学习四种语言:DQL,DML,DDL,DCL。
1、数据查询语言DQL:数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件>
2、数据操纵语言DML:DML主要有三种形式 a. 插入:INSERT b. 更新:UPDATE c. 删除:DELETE
3、数据定义语言DDL:DDL用来创建数据库中的各种对象例如,表、视图、索引、同义词、聚簇等:
CREATE TABLE(表)/VIEW(视图)/INDEX(索引)/SYN(同义词)/CLUSTER(簇)
4、数据控制语言DCL:DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如: a. GRANT:授权。 b. ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。 c. COMMIT [WORK]:提交。
建表细节
int(x):表示设置字段为int类型,最多展示的数据长度为x位(位宽)。
varchar(x):表示设置字段为可变长字符串类型,最大长度为x位。
not null:表示设置该字段不允许为空,是必填项。
default null:表示不填写情况下默认值为null。
comment ‘xx’:表示这个字段的注释为xx。
auto_increment:该字段自增,可以设置自增初始值和增量。
PRIMARY KEY (id):表示id字段是主键,一般情况下一张表只有一个。
ENGINE=INNODB:设置引擎为INNODB,下面对比MyISAM(早些年用的)和INNODB(当下流行的)区别。
DEFAULT CHARSET=utf8:设置默认字符集为utf8防止出现乱码现象,不设置的情况下不支持中文。
-- 所有的语句后面加, 最后一行不加 CREATE TABLE IF NOT EXISTS `student`( `id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(20) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL COMMENT '密码', `sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别', `birth` DATETIME DEFAULT NULL COMMENT '出生日期', `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址', `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8具体对比点这里
MyISAM:节约空间,速度较快 INNODB:安全性较高,支持事务处理,多表多用户操作。
愿你走出半生,归来仍是少年~