SQL语句详解二-DDL(数据定义语言)

操作数据库

创建:Create

命令 作用
create database 数据库名称; 创建数据库
create database if not exists 数据库名称; 判断此名字数据库不存在,再创建数据库
create database 数据库名称 character set 字符集名 创建数据库,并指定字符集


查询:Retrieve

命令 作用
show databases; 查询所有数据库名称
show create database 数据库名称; 查询数据库创建语句


修改:Update

命令 作用
alter database 数据库名称 charater set 字符集名称; 修改数据库的字符集

注意:先执行 修改语句,再执行,查看语句,发现已经数据库字符集已经被修改


删除:Delete

命令 作用
drop database 数据库名称; 删除数据库
drop database if exists 数据库名称; 判断数据库存在,再删除


使用数据库

命令 作用
select database(); 查询当前正在使用的数据库名称
use 数据库名称; 使用数据库

操作表

常见的几种数据类型

数据类型 注意
int 整数类型
double 小数类型 float(5,2)
date 日期(年月日) yyyy-MM-dd
datetime 日期(年月日时分秒) yyyy-MM-dd HH:mm:ss
varchar 字符串
timestamp 时间戳类型(年月日时分秒) 如果将来不给这个字段赋值或赋值为null,则默认使用当前系统时间,来自动赋值
  • MySQL5.6之后,时间戳要这样写,才能生效

    格式:列名 数据类型 default current_timestamp
    
    current_timestamp		// 当向数据表执行 插入操作时,则无论这个字段有没有值都插入当前系统时间
    on update current_timestamp  		 // 在后续数据表中数据发生更新操作将自动更新执行时间
    

创建:Create

  • 创建表格语法

    CREATE TABLE 表名(
    	列名1 数据类型1,
        列名2 数据类型2,
        列名3 数据类型3...
        列名n 数据类型n						-- 注意:最后一行,不需要逗号
    );										-- 不要忘了 ; 
    
  • 代码示例

    CREATE TABLE student(
    	sid INT,	  		-- 学生编号
    	sname VARCHAR(20),	-- 姓名
    	score FLOAT(5,2)  	-- 成绩,小数点保留2位
    );
    
复制表
  • 复制表格语法

    CREATE TABLE 表名 LIKE 被复制的表名; 		-- 注意:只复制表结构,但是表中数据并不复制
    
  • 代码示例

    CREATE TABLE s LIKE student;
    

查询:Retrieve

  • 查询命令

    命令 作用
    show tables; 查询某个数据库中所有表的名称
    desc 表名; 查询表结构
  • 代码示例

    SHOW TABLES;			-- 显示当前数据库所有的表格名称
    
    DESC student;			-- 显示 student 表的结构
    

修改:Update

  • 修改命令

    命令 作用
    alter table 旧的表名 rename to 新的表名; 修改表名
    alter table 表名 character set 字符集名称; 修改表的字符集
    alter table 表名 add 新列名 新数据类型; 表中添加新的一列
    alter table 表名 change 旧列名 新列名 新数据类型; 修改列名和数据类型
    alter table 表名 modify 旧列名 新数据类型; 修改列的数据类型
    alter table 表名 drop 列名; 删除列
  • 代码示例

    ALTER TABLE s RENAME TO stu;					-- 将表名 s 修改成 stu
    
    ALTER TABLE stu CHARACTER SET gbk;				-- 修改表的字符集为 gbk
    
    ALTER TABLE stu ADD address VARCHAR(100);		-- 添加新的一列 地址 字符数据类型
    
    ALTER TABLE stu CHANGE address ads VARCHAR(80); -- 将address列名修改成ads,数据类型也修改
    
    ALTER TABLE stu MODIFY sid VARCHAR(11);			-- 更改 sid 列的数据类型
    
    ALTER TABLE stu DROP ads;						-- 删除 ads 列 
    

    大家可一步一步执行,去左侧表中查看下变化。


删除:Delete

  • 删除命令

    命令 作用
    drop table 表名; 删除表
    drop table if exists 表名; 判断表存在,再删除
  • 示例代码

    DROP TABLE stu;				-- 删除 stu 表
    
    DROP TABLE IF EXISTS stu;	-- 判断 stu 表存在,再删除
    

    可对比着删除数据库来学习!

大家接下来可阅读这篇文章:SQL语句详解三-DML(数据操作语言)

相关推荐

  1. SQL语句详解四-DQL(数据查询语言-多表查询)

    2024-01-13 06:58:06       65 阅读
  2. 数据库SQL语句DML&&DQL

    2024-01-13 06:58:06       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 06:58:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 06:58:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 06:58:06       82 阅读
  4. Python语言-面向对象

    2024-01-13 06:58:06       91 阅读

热门阅读

  1. 【算法题】50. Pow(x, n)

    2024-01-13 06:58:06       53 阅读
  2. 【docker】Docker Stack 详细使用及注意事项

    2024-01-13 06:58:06       51 阅读
  3. Unity 鼠标点击或触摸任意拖动UGUI的方法

    2024-01-13 06:58:06       57 阅读
  4. 50天精通Golang(第15天)

    2024-01-13 06:58:06       46 阅读
  5. mysql undo log、redo log、binlog、mvcc、Buffer Pool的关系

    2024-01-13 06:58:06       53 阅读
  6. ETL详解--数据仓库技术

    2024-01-13 06:58:06       67 阅读
  7. git hooks

    2024-01-13 06:58:06       56 阅读
  8. 第二百六十二回

    2024-01-13 06:58:06       59 阅读
  9. 在root账号下启动 elasticsearch

    2024-01-13 06:58:06       60 阅读
  10. linux |离线安装软件 | rpm命令

    2024-01-13 06:58:06       63 阅读
  11. 如何基于Flink实现定制化功能的开发

    2024-01-13 06:58:06       60 阅读
  12. django校验token自定义中间件

    2024-01-13 06:58:06       51 阅读