数据库

数据库

查看所有的数据库

SHOW DATABASES ;

创建一个数据库

CREATE DATABASE k;

删除一个数据库

DROP DATABASE k;

使用这个数据库

USE k;
表

查看所有的表

SHOW TABLES ;

创建一个表

CREATE TABLE n(id INT, name VARCHAR(10));
CREATE TABLE m(id INT, name VARCHAR(10), PRIMARY KEY (id), FOREIGN KEY (id) REFERENCES n(id), UNIQUE (name));
CREATE TABLE m(id INT, name VARCHAR(10));

直接将查询结果导入或复制到新创建的表

CREATE TABLE n SELECT * FROM m;

新创建的表与一个存在的表的数据结构类似

CREATE TABLE m LIKE n;

创建一个临时表

临时表将在你连接MySQL期间存在。当断开连接时,MySQL将自动删除表并释放所用的空间。也可手动删除。

CREATE TEMPORARY TABLE l(id INT, name VARCHAR(10));

直接将查询结果导入或复制到新创建的临时表

CREATE TEMPORARY TABLE tt SELECT * FROM n;

删除一个存在表

DROP TABLE IF EXISTS m;

更改存在表的名称

ALTER TABLE n RENAME m;
RENAME TABLE n TO m;

查看表的结构(以下五条语句效果相同)

DESC n;   # 因为简单,所以建议使用
DESCRIBE n;
SHOW COLUMNS IN n;
SHOW COLUMNS FROM n;
EXPLAIN n;

查看表的创建语句

SHOW CREATE TABLE n;
表的结构

添加字段

ALTER TABLE n ADD age VARCHAR(2) ;

删除字段

ALTER TABLE n DROP age;

更改字段属性和属性

ALTER TABLE n CHANGE age a INT;

只更改字段属性

ALTER TABLE n MODIFY age VARCHAR(7) ;

表的数据

增加数据

INSERT INTO n VALUES (1, 'tom', '23'), (2, 'john', '22');
INSERT INTO n SELECT * FROM n;  # 把数据复制一遍重新插入

删除数据

DELETE FROM n WHERE id = 2;

更改数据

UPDATE n SET name = 'tom' WHERE id = 2;

数据查找

SELECT * FROM n WHERE name LIKE '%h%';

数据排序(反序)

SELECT * FROM n ORDER BY name, id DESC ;
键

添加主键

ALTER TABLE n ADD PRIMARY KEY (id);
ALTER TABLE n ADD CONSTRAINT pk_n PRIMARY KEY (id);   # 主键只有一个,所以定义键名似乎也没有什么用

删除主键

ALTER TABLE n DROP PRIMARY KEY ;

添加外键

ALTER TABLE m ADD FOREIGN KEY (id) REFERENCES n(id);    # 自动生成键名m_ibfk_1
ALTER TABLE m ADD CONSTRAINT fk_id FOREIGN KEY (id) REFERENCES n(id);   # 使用定义的键名fk_id

删除外键

ALTER TABLE m DROP FOREIGN KEY `fk_id`;

修改外键

ALTER TABLE m DROP FOREIGN KEY `fk_id`, ADD CONSTRAINT fk_id2 FOREIGN KEY (id) REFERENCES n(id);    # 删除之后从新建

添加唯一键

ALTER TABLE n ADD UNIQUE (name);
ALTER TABLE n ADD UNIQUE u_name (name);
ALTER TABLE n ADD UNIQUE INDEX u_name (name);
ALTER TABLE n ADD CONSTRAINT u_name UNIQUE (name);
CREATE UNIQUE INDEX u_name ON n(name);

添加索引

ALTER TABLE n ADD INDEX (age);
ALTER TABLE n ADD INDEX i_age (age);
CREATE INDEX i_age ON n(age);

删除索引或唯一键

DROP INDEX u_name ON n;
DROP INDEX i_age ON n;
视图

创建视图

CREATE VIEW v AS SELECT id, name FROM n;
CREATE VIEW v(id, name) AS SELECT id, name FROM n;

查看视图(与表操作类似)

SELECT * FROM v;
DESC v;

查看创建视图语句

SHOW CREATE VIEW v;

更改视图

CREATE OR REPLACE VIEW v AS SELECT name, age FROM n;
ALTER VIEW v AS SELECT name FROM n ;

删除视图

DROP VIEW IF EXISTS v;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值