黑马程序员MySQL数据库基础-SQL之DDL语句

一、SQL通用语法

1. SQL语句可单行或多行书写,以分号结尾

2. 可使用空格/缩进(不限制个数)增强语句的可读性

3. MySQL数据库的SQL语句不区分大小写,关键字建议用大写

4. 注释

 

二、SQL分类

 

三-1、DDL语句-数据库操作

  • 查询

        查询所有数据库:SHOW DATABASES;

        查询当前数据库:SELECT DATABASE();

  • 创建

        CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE排序规则];

  • 删除

        DROP DATABASE[IF EXISTS]数据库名;

  • 使用

        USE 数据库名

关于default charset:字符集不建议设置为utf8,因为其存储长度为3个字节(一个汉字为三个字节),而有的字符可能长达四个字节,所以可以设置为utf8mb4.

 

三-2、DDL-表操作-查询

  • 查询当前数据库所有表(前提是先要使用USE语句,即使用一个数据库)

        SHOW TABLES;

  • 查询表结构

        DESC 表名;

  • 查询指定表的建表语句

        SHOW CREATE TABLE 表名;

三-3、DDL-表操作-创建

CREATE TABLE 表名(

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

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

......

字段n 字段n类型[COMMENT 字段n注释]/*最后一个字段后面没有逗号*/

);

示例:如果要建一张如下图所示的表格,则语句如下(特别注意标点符号全英文)

 

create table tb_user(
    -> id int comment '编号',
    -> name varchar(50) comment '姓名',
    -> age int comment '年龄',
    -> gender varchar(1) comment '性别'
    -> );

使用show tables;查询结果

使用 desc 表名;查询表结构

使用show create table tb_user;查询建表语句

三-4、DDL-表操作-数据类型

MySQL中数据类型主要有数值类型、字符串类型、日期时间类型

与之前学过的c语言数据类型相结合,MySQL的数据类型也不是那么难以理解了

  • 数值类型

比如,要设置一个年龄字段,就可以这样写:age TINYINT UNSIGNED

            要设置一个分数字段,可以这样写:score DOUBLE(4,1),其中4代表最长的精度100.0,1代表最长的标度1。

  • 字符串类型

 一般来说,TEXT类型用于存储文本形式的数据,BLOB类型都是用于存储二进制形式的数据(如视频、音频、安装包等),但后者在MySQL中并不常用。

char和varchar的区别在于:

  1. 前者占用的空间恒等于设置的字符串长度,后者占用的空间视输入字符串长度而定
  2. 前者性能好,后者性能较差
  3. 如果是用户名等不定长度的变量,使用varchar更好,但若是性别这种固定字符长度的变量,使用char更好

  • 日期类型

一般来说,前四个类型更加常用。

三-5、DDL-表操作-修改&删除

  • 修改

        1. 添加字段

        ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];

 可以看到新的字段已经添加成功

        2. 修改数据类型

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

        3. 修改字段名和字段类型

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

        4. 修改表名

        ALTER TABLE 表名 RENAME TO 新表名;

  • 删除

        1. 删除字段

        ALTER TABLE 表名 DROP 字段名;

        2. 删除表

        DROP TABLE[IF EXISTS] 表名;

        3. 格式化该表

        TRUNCATE TABLE 表名;

        

总结:DDL基本语法主要涵盖数据库操作和表操作,以下是两种操作的基本语句

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值