MySQL速查表
时间:2020-02-23 14:32:21 来源:igfitidea点击:
这是MySQL的速查表。
希望您会发现它有趣且有用。
MySQL创建表
表名是customer。
主键是ID。
CREATE TABLE `customer` (
`id` INT UNSIGNED AUTO_INCREMENT NOT NULL,
`name` VARCHAR(30) NOT NULL,
`age` INT UNSIGNED DEFAULT NULL,
`accountstatus` ENUM('ACTIVE', 'INACTIVE', 'DELETED') DEFAULT 'ACTIVE',
`lastmodified` DATETIME DEFAULT NULL,
`created` DATETIME NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_customer_UNIQUE` (`id`)
) ENGINE=INNODB DEFAULT CHARSET=UTF8;
创建另一个表customerorder。
主键是订单号,外键是客户号。
CREATE TABLE `customerorder` (
`orderid` INT UNSIGNED AUTO_INCREMENT NOT NULL,
`customerid` INT UNSIGNED NOT NULL,
`amount` FLOAT(10 , 2 ) DEFAULT 0,
`orderstatus` ENUM('PAID', 'DUE') DEFAULT 'DUE',
`lastmodified` DATETIME DEFAULT NULL,
`created` DATETIME NOT NULL,
PRIMARY KEY (`orderid`),
UNIQUE KEY `orderid_customerorder_UNIQUE` (`orderid`),
KEY `fk_customerid_customerorder` (`customerid`),
CONSTRAINT `fk_customerid_customerorder` FOREIGN KEY (`customerid`)
REFERENCES `customer` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB DEFAULT CHARSET=UTF8;
MySQLRENAME表
假设我们有一个表c1,我们想将其重命名为c2。
RENAME TABLE c1 TO c2;
MySQLDROP表
删除表c2。
DROP TABLE IF EXISTS c2;
MySQL插入数据
将数据插入客户表。
INSERT INTO `customer` (`name`, `age`, `lastmodified` , `created`)
VALUES
('theitroad', 25, '2015-01-01 10:20:30', '2015-01-01 10:20:30');
多次插入
INSERT INTO `customer` (`name`, `age`, `lastmodified` , `created`)
VALUES
('theitroad', 25, '2015-01-01 10:20:30', '2015-01-01 10:20:30'),
('Dawood', 20, '2015-01-01 10:20:30', '2015-01-01 10:20:30');
INSERT INTO `customerorder` (`customerid`, `amount`, `orderstatus`, `lastmodified` , `created`)
VALUES
('1', 250, 'PAID', '2015-01-01 10:20:30', '2015-01-01 10:20:30'),
('2', 100, 'PAID', '2015-01-01 10:20:30', '2015-01-01 10:20:30'),
('1', 500, 'PAID', '2015-01-01 10:20:30', '2015-01-01 10:20:30'),
('1', 700, 'PAID', '2015-01-01 10:20:30', '2015-01-01 10:20:30'),
('2', 800, 'PAID', '2015-01-01 10:20:30', '2015-01-01 10:20:30');
MySQL SELECT
通过ID选择客户。
SELECT
*
FROM
customer
WHERE
id = 1;
Select only required columns by id.
SELECT
id AS customerid, name, age, accountstatus, lastmodified, created
FROM
customer
WHERE
id = 1;
SELECT-按日期过滤
按日期选择客户过滤器。
SELECT
*
FROM
customer
WHERE
created >= '2015-01-01 00:00:00'
AND created <= '2015-01-01 23:59:59';
SELECT-按精确文本过滤
选择客户过滤器的确切名称。
SELECT
*
FROM
customer
WHERE
name = 'theitroad';
SELECT-通过开始文本过滤
选择名称以给定单词开头的客户。
SELECT
*
FROM
customer
WHERE
name LIKE 'Yu%';
SELECT-通过结束文本进行过滤
选择名称以给定单词结尾的客户。
SELECT
*
FROM
customer
WHERE
name LIKE '%od';
SELECT-按值中的文本过滤
选择名称包含给定单词的客户。
SELECT
*
FROM
customer
WHERE
name LIKE '%su%';
MySQL更新
更新客户表。
UPDATE customer
SET
name = 'theitroad',
age = 25
WHERE
id = 1;
MySQL删除
从客户表中删除。
DELETE FROM customer
WHERE
id = 1;
MySQL添加列
将新列dateofbirth添加到客户表。
ALTER TABLE customer ADD COLUMN dateofbirth DATETIME DEFAULT NULL AFTER age;
MySQL修改列
修改客户表的列dateofbirth。
ALTER TABLE customer MODIFY COLUMN dateofbirth DATE DEFAULT NULL AFTER age;
MySQL重命名列
将列dateofbirth重命名为customer表的dob。
ALTER TABLE customer CHANGE COLUMN dateofbirth dob DATE DEFAULT NULL AFTER age;
MySQL重命名和修改列
将列dob重命名为dateofbirth,并将客户表的DATE类型修改为DATETIME。
ALTER TABLE customer CHANGE COLUMN dob dateofbirth DATETIME DEFAULT NULL AFTER age;
MySQL删除列
删除客户表的列dateofbirth。
ALTER TABLE customer DROP COLUMN dateofbirth;
MySQL添加唯一键
将唯一键orderid_customerorder_UNIQUE添加到customerorder表。
ALTER TABLE customerorder ADD UNIQUE KEY `orderid_customerorder_UNIQUE` (`orderid`);
MySQL删除唯一键
删除客户订单表的唯一键orderid_customerorder_UNIQUE。
ALTER TABLE customerorder DROP INDEX orderid_customerorder_UNIQUE;
MySQL添加索引
将索引fk_customerid_customerorder添加到customerorder表中。
ALTER TABLE customerorder ADD INDEX `fk_customerid_customerorder` (`customerid`);
MySQL删除索引
删除customerorder表的索引fk_customerid_customerorder。
ALTER TABLE customerorder DROP INDEX fk_customerid_customerorder;
MySQL添加约束-外键
将外键customerid添加到customerorder表。
ALTER TABLE customerorder
ADD CONSTRAINT `fk_customerid_customerorder` FOREIGN KEY (`customerid`)
REFERENCES `customer` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE;
MySQL删除外键约束
删除customerorder表的约束fk_customerid_customerorder。
ALTER TABLE customerorder DROP FOREIGN KEY fk_customerid_customerorder;

