MySQL(DDL、DML)

131 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情

DDL常用命令

数据定义语言(Data Definition Language,DDL)是 SQL 语言集中负责数据结构定义与数据库对象定义的语言。 DDL 的主要功能是定义数据库对象,DDL 的核心指令是 CREATE、ALTER、DROP

数据库(DATABASE)

  1. 创建数据库
CREATE DATABASE test;
  1. 创建数据库,并指定字符集
CREATE DATABASE test 
	CHARACTER SET utf8 COLLATE utf8_general_ci;
  1. 删除数据库
DROP DATABASE test;
  1. 选择数据库
USE test;
  1. 查询所有数据库
SHOW DATABAES;

查询数据库所有表

 SHOW TABLES;

数据表(TABLE)

  1. 创建数据表-普通创建
CREATE TABLE test_user (
	id int(10) NOT NULL COMMENT 'Id',
	username varchar(64) NOT NULL DEFAULT 'default' COMMENT '用户名',
	password varchar(64) NOT NULL DEFAULT 'default' COMMENT '密码',
	email varchar(64) NOT NULL DEFAULT 'default' COMMENT '邮箱'
) COMMENT='测试用户表';

根据已有的表创建新表

CREATE TABLE vip_user AS
SELECT * FROM user;
  1. 删除数据表
DROP TABLE test_user;
  1. 查看表结构设计:
desc test_user;
  1. 修改数据表
  • 添加列:
ALTER TABLE test_user ADD age int(3);
  1. 修改数据表
  • 删除列
ALTER TABLE test_user DROP COLUMN age;

数据操作DML:增、删、改、查

增删改查,又称为 CRUD,数据库基本操作中的基本操作。 ​

1、插入数据

  1. 插入完整的行
INSERT INTO test_user VALUES (10, 'root', 'root', 'xxxx@163.com');

插入行的一部分

INSERT INTO test_user(username, password, email) VALUES ('admin', 'admin', 'xxxx@163.com');

插入查询出来的数据

INSERT INTO test_user(username) SELECT name FROM account;

2、更新数据

UPDATE test_user SET username='robot', password='robot' WHERE username = 'root';

3、删除数据

  1. 删除表中的指定数据
DELETE FROM test_user WHERE username = 'robot';

清空表中的数据

TRUNCATE TABLE test_user;

4、查询数据

  1. 查询单列
SELECT prod_name FROM products;
  1. 查询多列
SELECT prod_id, prod_name, prod_price FROM products;
  1. 查询所有列:
SELECT * FROM products;
  1. 查询不同的值
SELECT DISTINCT prod_id FROM products;
  1. 限制查询结果,如返回前 5 行
SELECT * FROM mytable LIMIT 5; 或SELECT * FROM mytable LIMIT 0, 5;
  1. 返回第 3 ~ 5 行
SELECT * FROM mytable LIMIT 2, 3;
  1. 查询并按指定列降序排序
SELECT * FROM products ORDER BY prod_price DESC;

查询语句关键字的顺序

SELECT > DISTINCE > FROM > WHERE > GROUP BY > HAVING > ORDER BY > LIMITECT > 关键字的顺序:

SELECT > DISTINCE > FROM > WHERE > GROUP BY > HAVING > ORDER BY > LIMITDISTINCE > FROM > WHERE > GROUP BY > HAVING > ORDER BY > LIMIT