1.mysql-DDL-数据库操作

DDL-数据库操作定义语言

DML-数据库操作语言

DCL-数据库控制语言

DQL-数据库查询语言

DDL-数据库操作

DDL-数据库操作- 查询

查询所有数据

sql 复制代码
SHOW DATABASES;

查询当前数据库

sql 复制代码
SELECT DATABASE();

DDL-数据库操作- 创建

CREATE DATABSE IF NOT EXISTS 数据库名 DEFAULT CHARTSET 字符集 [COLLATE

排序规则] ;

sql 复制代码
mysql> CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected (0.01 sec)

设置字符集编码,utf8是3个字节,utf8mb4是四个字节

sql 复制代码
mysql> CREATE DATABASE   itheima default charset utf8mb4;
Query OK, 1 row affected (0.02 sec)

DDL-数据库操作-删除

DROP DATABASE IF EXISTS 数据库名;

sql 复制代码
mysql> DROP DATABASE IF EXISTS test;
Query OK, 0 rows affected (0.01 sec)

DDL -表操作-查询

  • 使用

USE 数据库名;

  • 查询
  • 查询当前数据库所有表

SHOW TABLES;

  • 查询表结构

DESC 表名;

  • 查询指定表的建表语句

SHOW CREATE TABLE 表名;

DDL-表操作-创建

CREATE TABLE 表名(

字段1 字段1类型 COMMENT 字段1注释,

字段2 字段2类型 COMMENT 字段2注释,

字段n 字段n类型 COMMENT 字段n注释 ) COMMENT 表注释;

注意:...为可选参数, 最后一个字段后面没有逗号

sql 复制代码
create table it_user(
     id int comment 'id',
     name varchar(50) comment '姓名',
     age int comment '年龄',
     gender varchar(1)  comment '性别'
   ) comment '用户表';

DDL-表操作-字段类型

数据类型

score double(4,1) 4个字节,1位小数

age TINYINT UNSIGNED 无符号范围

字符串类型

日期类型

字符串eg

sql 复制代码
CREATE TABLE `emp` (
  `id` int(11) DEFAULT NULL COMMENT '编号',
  `workno` varchar(10) DEFAULT NULL COMMENT '工号',
  `name` varchar(10) DEFAULT NULL COMMENT '姓名',
  `gender` char(1) DEFAULT NULL COMMENT '性别',
  `age` tinyint(3) unsigned DEFAULT NULL COMMENT '年龄',
  `idcard` char(18) DEFAULT NULL COMMENT '身份证',
  `entrydate` date DEFAULT NULL COMMENT '入职时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='员工表'

DDL-表操作-修改

  • 添加字段

ALTER TABLE 表名 ADD 字段名 类型(长度) comment 注释 约束

  • 修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

  • 修改字段名以及字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) COMMENT 注释 约束

  • 删除字段

ALTER TABLE 表名 DROP 字段名;

  • 修改表名

ALTER TABLE 表名 RENAME TO 新表名;

  • 删除表

DROP TABLE IF EXISTS 表名;

  • 删除表数据,不会删除表结构

TRUNCATE TABLE 表名;

  • 操作
sql 复制代码
mysql> alter table emp add nickname varchar(10) comment '昵称';
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table emp modify nickname varchar(15) ;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc emp;
+-----------+---------------------+------+-----+---------+-------+
| Field     | Type                | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| id        | int(11)             | YES  |     | NULL    |       |
| workno    | varchar(10)         | YES  |     | NULL    |       |
| name      | varchar(10)         | YES  |     | NULL    |       |
| gender    | char(1)             | YES  |     | NULL    |       |
| age       | tinyint(3) unsigned | YES  |     | NULL    |       |
| idcard    | char(18)            | YES  |     | NULL    |       |
| entrydate | date                | YES  |     | NULL    |       |
| nickname  | varchar(15)         | YES  |     | NULL    |       |
+-----------+---------------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

mysql> alter table emp change nickname username varchar(10);
Query OK, 0 rows affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc emp;
+-----------+---------------------+------+-----+---------+-------+
| Field     | Type                | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| id        | int(11)             | YES  |     | NULL    |       |
| workno    | varchar(10)         | YES  |     | NULL    |       |
| name      | varchar(10)         | YES  |     | NULL    |       |
| gender    | char(1)             | YES  |     | NULL    |       |
| age       | tinyint(3) unsigned | YES  |     | NULL    |       |
| idcard    | char(18)            | YES  |     | NULL    |       |
| entrydate | date                | YES  |     | NULL    |       |
| username  | varchar(10)         | YES  |     | NULL    |       |
+-----------+---------------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

mysql> alter table emp drop username;
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc ep;
ERROR 1146 (42S02): Table 'itcast.ep' doesn't exist
mysql> desc emp;
+-----------+---------------------+------+-----+---------+-------+
| Field     | Type                | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| id        | int(11)             | YES  |     | NULL    |       |
| workno    | varchar(10)         | YES  |     | NULL    |       |
| name      | varchar(10)         | YES  |     | NULL    |       |
| gender    | char(1)             | YES  |     | NULL    |       |
| age       | tinyint(3) unsigned | YES  |     | NULL    |       |
| idcard    | char(18)            | YES  |     | NULL    |       |
| entrydate | date                | YES  |     | NULL    |       |
+-----------+---------------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

mysql> alter table emp rename to employee;
Query OK, 0 rows affected (0.02 sec)

mysql>

总结

  • DDL-数据库操作

SHOW DATABASES;

CREATE DATABASE 数据库名;

USE 数据库名;

SELECT DATABASE();

DROP DATABASE 数据库名;

  • DDL-表操作

SHOW TABLES;

CREATE TABLE 表名(字段 字段类型,字段 字段类型);

DESC 表名;

SHOW CREATE TABLE 表名;

ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO ...;

DROP TABLE 表名;

相关推荐
东风破_4 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔5 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构
橙子家6 小时前
OSS 文件上传的几个风险点和解决方案
数据库
2601_962066497 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
愤怒的苹果ext8 小时前
MySQL Shell备份恢复数据库
数据库·mysql·备份恢复·mysqlsh
数字新视界10 小时前
DCIM管理系统的技术架构与部署模式详解
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
何以解忧,唯有..10 小时前
Pydantic 介绍与使用:Python 数据校验的现代方案
数据库·python·microsoft
超兔一体云11 小时前
MySQL索引优化实战——从慢查询到索引调优
后端·mysql
这个DBA有点耶11 小时前
数据库容灾进入“秒级时代”:同城双活架构原理、关键技术选型与落地实践
数据库·架构·dba
2601_9620748111 小时前
大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
大数据·数据库·mysql