写在前面

  • 本文中 [ 内容 ] 代表啊可选项,即可写可不写。

SQL语言的基本功能介绍

SQL是一种结构化查询语言,主要有如下几个功能:

  • 数据定义语言(DDL):全称Data Definition Language
  • 数据操纵语言(DML):全称Data Manipulation Language
  • 数据控制语言(DCL):全称Data Control Language
  • 事务控制语言(TCL):全称Transaction Control Language

其中最重要的是数据操纵语言(DML),里面包含了我们常用的功能(增、删、改、查)。对于数据定义语言(DDL)和数据控制语言(DCL),我们只需要了解,知道怎么用就行了。

数据定义语言的用途

DDL主要是对数据库对象(数据库、表、视图、索引)的操作。常用命令如下:

创建 修改 销毁
create alter drop

数据库的操作语句

显示当前所有库

-- 显示说有的库
show databases;

创建库

-- 创建库
-- creat database [if not exists] 数据库名 [charset=utf8];
-- 重复创建会报错, 可以加上if not exists
creat database if not exists student;

销毁库

-- 销毁库
-- drop database [if exists] 数据库名;
-- 如果不知道数据库是否存在,记得加if exists
drop database if exists student;

使用库

-- 使用库
-- use 数据库名;
-- 创建数据库后,当进行对表的操作之前,必须要先使用数据库。
use student;

其他

-- 查看当前所在的库
select database(); -- 修改数据库名
rename database 旧名 to 新名;

数据表的操作

查看当前库中都有哪些表

-- 查看当前库中都有哪些表
show tables;

创建表

-- 格式
-- 注意:表名 和 字段名 尽量使用 ` `(反引号)括起来
crate table [if not exists] `表名`(
`字段名` 字段类型 [属性] [索引] [注释],
`字段名` 字段类型 [属性] [索引] [注释],
......
`字段名` 字段类型 [属性] [索引] [注释]
)[表的搜索引擎] [字符编码] [注释];

简单示例:

creat table if not exists `table`(
`sid` int,
`sname` varchar(20),
`age` int
)charset=utf8;

注意:由于默认使用的engine就是InnoDB,这个建表时候可以不写。但是charset=utf8这个最好是加上,尤其是在CMD黑窗口中输入中文的时候,

不写这一句,会出现类似如下错误

ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5' for column 'sname' at row 1

查看表结构和建表语句

-- 查看表结构
-- desc 表名;
desc student; -- 查看建表语句
-- show creat table 表名;
show creat table stu;

修改表名

-- rename table 旧名 to 新名;
rename table student to stu;

修改表结构

修改表结构中包含给表添加某个新字段修改表中某个字段删除表中某个字段

  • 给表添加某个新字段,使用add关键字

    1. 默认是追加,即在最后一列添加新字段
    -- alter table 表名 add 字段名 字段类型;
    alter table `stu` add `cid` int;
    1. 在首位添加新字段,使用first关键字
    -- alter table 表名 add 字段名 字段类型 first;
    alter table `stu` add `cname` varchar(20) first;
  • 修改表中某个字段,使用changemodify关键字

    1. 修改字段名称,使用change关键字
    -- alter table 表名 change 旧字段名 新字段名 字段类型;
    -- 修改字段age的名称,为sage
    alter table `stu` change `age` `sage` int;
    1. 修改字段类型,既可以使用change,还可以使用modify
    -- 修改sname字段的数据类型由varchar(20)为varchar(50)
    -- 有以下两种方式
    -- alter table 表名 change 字段名 字段名 字段类型;
    alter table `stu` change `sname` `sname` varchar(50); -- alter table 表名 modify 字段名 字段类型;
    alter table `stu` modify `sname` varchar(50);
    1. 修改字段位置,可以配合使用firstafter关键字
    -- 将sname字段,放置到sage后面。可以使用如下两种方式:
    alter table `stu` change `sname` `sname` varchar(50) after `sage`;
    alter table `stu` modify `sname` varchar(50) after `sage`; -- 将sid字段,放置到首位
    alter table `stu` change `sid` `sid` int first;
    alter table `stu` modify `sid` int first;

    modify不能直接修改字段名称,其余能用change的地方,就可以用modify。

  • 删除表中某个字段,使用drop关键字

    -- alter table 表名 drop 字段名;
    
    -- 删除cid这个字段
    alter table `stu` drop `cid`;

清空表

truncate只删除数据但是不删除表结构

-- truncate table 表名;
truncate table `stu`;

销毁表

-- drop table 表名;
drop table `stu`;

注意:一般表结构有了,数据也有了,不要轻易修改表结构,增加、删除、修改列

MySQL之数据定义语言(DDL)的更多相关文章

  1. <MySQL>入门三 数据定义语言 DDL

    -- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...

  2. ODPS SQL <for 数据定义语言 DDL>

    数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...

  3. 30441数据定义语言DDL

    数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...

  4. mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)

    0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...

  5. mysql数据定义语言DDL

    库的管理 创建 create 语法:create database 库名 [character set 字符集] # 案例:创建库 create database if not exists book ...

  6. 【MySQL笔记】数据定义语言DDL

    1.创建基本表   create table <表名> (<列名><数据类型>[列级完整性约束条件]                                 ...

  7. oracle 数据定义语言(DDL)语法

    DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype  ...

  8. SQLite基础-4.数据定义语言(DDL)

    目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...

  9. SQL语句整理(二) 数据定义语言DDL

    前言: 这是我学数据库时整理的学习资料,基本上包括了所以的SQL语句的知识点. 我的教材是人大王珊老师的<数据库系统概论>. 因为是手打的,所以会用一些细节打错了,但都挺明显也不多(考完试 ...

随机推荐

  1. Java基础回顾_第一部分

    Java基础回顾 基本数据类型 数值类型 什么是字节? 位(bit):是计算机中数据的最小单位 字节(byte):是计算机中数据处理的基本单位,习惯上用大写字母B来表示 1 B = 8 bit 字符: ...

  2. 单链表c语言实现的形式

    包括初始化,创建,查询,长度,删除,清空,销毁等操作 代码如下: #include<stdio.h> #include<stdlib.h> //定义单链表的数据类型 typed ...

  3. C语言const是如何保证变量不被修改的?

    这小段文章要理清楚的是,在C语言中,$const$是如何保证变量不被修改的? 我们可以想到两种方式: 第一种,由编译器来阻止修改$const$变量的语句,让这种程序不能通过编译: 第二种,由操作系统来 ...

  4. [hash]集合

    集合 题目描述 给定两个集合A.B,集合内的任一元素x满足1 ≤ x ≤ 109,并且每个集合的元素个数不大于105.我们希望求出A.B之间的关系. 任 务 :给定两个集合的描述,判断它们满足下列关系 ...

  5. java面试-JDK自带的JVM 监控和性能分析工具用过哪些?

    一.JDK的命令行工具 1.jps(JVM Process Status Tools):虚拟机进程状况工具 jps -l 2.jinfo(Configuration Info for java):Ja ...

  6. pandas(1):Pandas文件读取——read_excel()

    目录 一.函数原型 二.功能说明 三.常用参数说明 四.总结 一.函数原型 pd.read_excel(io, sheet_name=0, header=0, names=None, index_co ...

  7. 【笔记】《Redis设计与实现》chapter15 复制

    15.1 旧版复制功能的实现 同步 命令传播 旧版复制功能的缺陷 15.3 新版复制功能的实现 Redis2.8开始,使用PSYNC命令替代SYNC命令来执行复制时的同步操作 PSYNC命令具有完整重 ...

  8. 嗝,我饱了——IDEA食用指南

    1 概述 IDEA全称IntelliJ IDEA,主要用于Java开发的IDE,代码自动提示,重构,JUnit,代码分析等的功能非常牛逼,这篇文章首先介绍目前为止IDEA最新版本的特性,然后从UI,常 ...

  9. 13. VUE 组件之间数据传递

    组件数据传递: 父组件向内传递属性---动态属性 子组件向外发布事件 solt 插槽传递模板---具名solt 1. 父组件向子组件传递数据 子组件在父组件的并作为标签引入,通过设置标签的属性传递数据 ...

  10. 同事写了一个疯狂的类构造器,我要疯了,Builder 模式都不会么?!

    疯狂的类构造器 最近栈长在做 Code Review 时,发现一段创建对象的方法: Task task = new Task(112, "紧急任务", "处理一下这个任务 ...