-- mysql三种注释格式: 1.-- (加一个空格)2.# 3./**/
-- 登陆数据库
#使用类似sqlplus的mysql.exe
mysql -h localhost -uroot -phuawei
/*使用工具如sqlyog 填写ip,用户,密码,连接的数据库为可选项,可在连接后进行选择*/
-- 检索现有数据库
SHOW DATABASES;
-- 查看支持的字符集及其默认校对规则
SHOW CHARACTER SET;
-- 创建数据库
DROP DATABASE IF EXISTS virus;-- 如果存在首先删除
CREATE DATABASE virus -- 创建数据库
DEFAULT CHARACTER SET utf8 -- 选择字符集
DEFAULT COLLATE utf8_general_ci;-- 选择字符集校对规则
-- 选择数据库
USE virus;
-- 查看当前数据库
SELECT DATABASE();
-- 查看表列表
SHOW TABLES;
-- 创建表
CREATE TABLE t_test (id INTEGER,iname VARCHAR(10));
-- 查看创建表的数据
SHOW CREATE TABLE t_test;
-- 增加字段
ALTER TABLE t_test ADD COLUMN fmonth VARCHAR(6) AFTER iname;
-- 调整字段属性及顺序
ALTER TABLE t_test CHANGE COLUMN fmonth fmonth VARCHAR(7) NOT NULL AFTER id;
-- 显示表中字段情况
DESC t_test;
DESCRIBE t_test;
SHOW COLUMNS FROM t_test;
-- 查看存储引擎
SHOW ENGINES;
-- 查看是否支持分区表
SHOW VARIABLES LIKE '%partition%';
-- 创建range分区表(注意分区字段必须为主键或者唯一索引的一部分,hash分区例外.)
DROP TABLE employees;
CREATE TABLE employees (
id INT ,
fname VARCHAR(30),
lname VARCHAR(30),
store_id INT,
PRIMARY KEY(id,store_id))
ENGINE=INNODB
PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN maxvalue);
--查看查询信息
explain select count(*) from employees where store_id =5;
--查看分区使用情况
explain partitions select count(*) from employees where store_id =5;
-- 创建hash分区表
CREATE TABLE ti (
id INT,
amount DECIMAL(7,2),
tr_date DATE)
ENGINE=INNODB
PARTITION BY HASH(MONTH(tr_date))
PARTITIONS 6;
--创建list分区
CREATE TABLE `virus_vendor_info` (
`virus_id` VARCHAR(32) NOT NULL,
`vendor_id` INT(11) NOT NULL,
`virus_name` VARCHAR(256) NOT NULL DEFAULT '',
`virus_type` VARCHAR(32) DEFAULT NULL,
`virus_report` VARCHAR(260) DEFAULT NULL,
`threat_grade` VARCHAR(4) DEFAULT NULL,
PRIMARY KEY (`virus_id`,`vendor_id`,`virus_name`),
KEY `virus_vendor_info_index` (`vendor_id`,`virus_type`,`virus_name`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8
PARTITION BY LIST (vendor_id)
(PARTITION p1 VALUES IN (1) ENGINE = MYISAM,
PARTITION p2 VALUES IN (2) ENGINE = MYISAM,
PARTITION p3 VALUES IN (3) ENGINE = MYISAM,
PARTITION p4 VALUES IN (4) ENGINE = MYISAM,
PARTITION p5 VALUES IN (5) ENGINE = MYISAM) ;
--创建自增列并指定自增列初值
CREATE TABLE t_ttt
(id INT PRIMARY KEY AUTO_INCREMENT
NAME VARCHAR(10))AUTO_INCREMENT=100;
-- 指定索引