类型
数字类型
整数: tinyint、smallint、mediumint、int、bigint
浮点数: float、double、real、decimal
日期和时间
date、time、datetime、timestamp、year
字符串类型
字符串: char、varchar
文本: tinytext、text、mediumtext、longtext
二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
详细内容http://www.runoob.com/mysql/mysql-data-types.html
创建操作
摘自廖雪峰sql教程(https://github.com/michaelliao/learn-sql/blob/master/mysql/init-test-data.sql)
-- 如果test数据库不存在,就创建test数据库: CREATE DATABASE IF NOT EXISTS test; -- 切换到test数据库 USE test; -- 删除classes表和students表(如果存在): DROP TABLE IF EXISTS classes; DROP TABLE IF EXISTS students; -- 创建classes表: CREATE TABLE classes ( id BIGINT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建students表: CREATE TABLE students ( id BIGINT NOT NULL AUTO_INCREMENT, class_id BIGINT NOT NULL, name VARCHAR(100) NOT NULL, gender VARCHAR(1) NOT NULL, score INT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 插入classes记录: INSERT INTO classes(id, name) VALUES (1, '一班'); INSERT INTO classes(id, name) VALUES (2, '二班'); INSERT INTO classes(id, name) VALUES (3, '三班'); INSERT INTO classes(id, name) VALUES (4, '四班'); -- 插入students记录: INSERT INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'M', 90); INSERT INTO students (id, class_id, name, gender, score) VALUES (2, 1, '小红', 'F', 95); INSERT INTO students (id, class_id, name, gender, score) VALUES (3, 1, '小军', 'M', 88); INSERT INTO students (id, class_id, name, gender, score) VALUES (4, 1, '小米', 'F', 73); INSERT INTO students (id, class_id, name, gender, score) VALUES (5, 2, '小白', 'F', 81); INSERT INTO students (id, class_id, name, gender, score) VALUES (6, 2, '小兵', 'M', 55); INSERT INTO students (id, class_id, name, gender, score) VALUES (7, 2, '小林', 'M', 85); INSERT INTO students (id, class_id, name, gender, score) VALUES (8, 3, '小新', 'F', 91); INSERT INTO students (id, class_id, name, gender, score) VALUES (9, 3, '小王', 'M', 89); INSERT INTO students (id, class_id, name, gender, score) VALUES (10, 3, '小丽', 'F', 85); -- OK: SELECT 'ok' as 'result:';
innodb和myisam引擎的区别
(1)事务处理:
MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理);
(2)锁机制不同:
MyISAM是表级锁,而InnoDB是行级锁;
详细内容请百度