Mysql初级--DDL操作

Mysql的DDL操作

DDL(Data Definition Language):数据定义语言,对数据库和表的创建、删除等动作### 数据库的列举、创建、删除

列举数据库:SHOW
-- 语法
SHOW {DATABASES | SCHEMAS} ;

-- 例:
SHOW DATABASES;
创建数据库:CREATE DATABASE
-- 语法
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [db_option];

-- 例
CREATE DATABASE IF NOT EXISTS db_test CHARSET='utf8';
数据库的切换:USE
-- 语法
USE db_name;

-- 例
USE db_test;
数据库的删除:DROP
-- 语法
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name ;

-- 例
DROP DATABASE IF EXISTS db_test;

数据表的列举、创建、删除

数据表的列举:SHOW
-- 语法:
SHOW TABLES [ IN db_name ];

-- 例
SHOW TABLES IN db_test;
数据表的创建:CREATE
-- 语法
CREATE TABLE [IF NOT EXISTS] [数据库名称.]表名
(
	列名1	类型	[约束] [列的注释] ,
    列名2	类型	[约束] [列的注释] ,
    ……
    列名N	类型	[约束] [列的注释]
    
) [表的配置] [表的注释];
-- 列名、类型必选
-- 约束、列的注释、表的配置和表的注释可选

-- 例
CREATE TABLE IF NOT EXISTS db_test.tb_students
(
    stu_id      varchar(20) PRIMARY KEY AUTO_INCREMENT COMMENT '学生id',
    stu_name    varchar(30) NOT NULL COMMENT '学生姓名',
    stu_birth   date COMMENT '出生日期',
    stu_gender  int COMMENT DEFAULT 0 '性别, 0-女, 1-男',
    stu_stature int COMMENT '身高, 单位cm',
    stu_city    varchar(10) COMMENT '籍贯'
) ENGINE = InnoDB DEFAULT CHARSET = UTF8 COMMENT '学生基础信息表';
  • 常用字段类型:

    • 数值:bit(存0或1)、tinyint、int、bigint、decimal,double

      类型介绍
      bit0 或者 1
      tinyint-128 ~ +127, 无符号只算正数:从0开始 到255
      int-2147483648 ~ +2147483647
      bigint-2^63 ~ + 2^63 - 1
      doubledouble(M, D),M总个数,D是小数位,双精度浮点型,16位精度,适合精确度一般的
      decimaldecimal(M, D), M最大为65,D最大为30,定点数类型,适合精确度非常高的
    • 字符串:varchar,char,text

      类型介绍
      char固定长度,最多255个字符
      varchar固定长度,最多65535个字符
      text可变长度,最多65535个字符
    • 日期时间:date, time, datetime

      类型介绍
      dateYYYY-MM-DD
      datetimeYYYY-MM-DD HH:mm:ss
      timestamp时间戳,从1970年1月1日00:00:00到目前为止的秒数
  • 常用约束

    • 主键 primary key:物理上存储的顺序。 MySQL 建议所有表的主键字段都叫 id, 类型为 int unsigned。
    • 唯一 unique:此字段的值不允许重复。
    • 非空 not null:此字段不允许填写空值。NULL表示空,注意 null【没有值】 和 ‘null’ 【字符串】 是否一样?
    • 默认 default:当不填写字段对应的值会使用默认值,如果填写时以填写为准。
    • 外键 foreign key:对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功, 如果不存在则填写失败并抛出异常。
数据表的描述:DESC
-- 语法
DESC [db_name.]tb_name ;

-- 例
DESC db_test.tb_students;
数据表的删除与清空
-- 数据表的删除
-- 语法
DROP TABLE [IF EXISTS] [db_name.]tbname ;
-- 例
DROP TABLE IF EXISTS db_test.tb_students;

-- 数据表的清空
-- 语法
TRUNCATE [db_name.]tbname
-- 例
TRUNCATE db_test.tb_students;
数据表的修改
-- 语法
-- 添加
ALTER  TABLE  表名  ADD  列名  类型(长度)  [约束];
-- 修改
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) 约束;
-- 删除
ALTER TABLE 表名 DROP 列名;

-- 例
-- 给 students 增加一列 stu_weight 体重,单位KG
ALTER TABLE db_test.tb_students ADD stu_weight double not null;

-- 给 students 的性别列修改为tinyint类型
ALTER TABLE db_test.tb_students CHANGE stu_gender stu_gender tinyint(4);

-- 删除 students 的stu_weight 列
ALTER TABLE db_test.tb_students DROP stu_weight;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL是一种开源的关系型数据库管理系统,它支持多种操作系统,并且广泛应用于Web应用程序的后端数据存储。MySQLDDL(Data Definition Language)是用于定义和管理数据库结构的基础操作。 以下是MySQLDDL的基础操作: 1. 创建数据库:使用CREATE DATABASE语句可以创建一个新的数据库。例如,CREATE DATABASE mydatabase; 2. 删除数据库:使用DROP DATABASE语句可以删除一个已存在的数据库。例如,DROP DATABASE mydatabase; 3. 创建表:使用CREATE TABLE语句可以创建一个新的数据表。在CREATE TABLE语句中,需要指定表名和表的列及其属性。例如,CREATE TABLE mytable (id INT, name VARCHAR(50)); 4. 删除表:使用DROP TABLE语句可以删除一个已存在的数据表。例如,DROP TABLE mytable; 5. 修改表结构:使用ALTER TABLE语句可以修改已存在的数据表的结构,包括添加、修改和删除列等操作。例如,ALTER TABLE mytable ADD COLUMN age INT; 6. 添加主键:使用ALTER TABLE语句可以为数据表添加主键约束,以确保每行数据的唯一性。例如,ALTER TABLE mytable ADD PRIMARY KEY (id); 7. 添加外键:使用ALTER TABLE语句可以为数据表添加外键约束,以确保与其他表的关联完整性。例如,ALTER TABLE mytable ADD FOREIGN KEY (customer_id) REFERENCES customers(id); 8. 创建索引:使用CREATE INDEX语句可以为数据表创建索引,以提高查询性能。例如,CREATE INDEX idx_name ON mytable (name); 这些是MySQLDDL的基础操作,通过这些操作可以定义和管理数据库的结构。如果你有更具体的问题或者需要了解更多高级的DDL操作,请告诉我。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值