MySQL入门基础篇3——SQL语句分类使用DDL语句(基础数据类型)

4 篇文章 0 订阅
4 篇文章 0 订阅

本篇参考黑马程序员教程,MySQL入门学习笔记

SQL通用语法注意事项:

1. SQL语句必须以分号结尾

2. SQL语句在每个语句和关键字之间不限制空格和缩进,以方便可读性

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

4. 注释:

单行注释 --注释内容 或 #注释内容(MySQL数据库特有)

多行注释 /*注释内容*/

5. 在编码时为节省时间,可在输入光标处按上下键来快捷跳转之前输入过的语句

SQL语句分类:

SQL语句主要分为4类:

DDL语句

:创建数据库关键词中

[IF NOT EXISTS]示意当存在此数据库则不创建,不存在则创建,也可省略

[DEFAULT CHARSET]示意创建UTF8格式字符集,若省略,则数据库会创建默认字符集

[COLLATE]指定对应排序规则

创建数据库

加上数据库if not exists修饰语句(示意有则不创建,没有则创建该数据库)

创建数据库并设置字符集

注:在MySQL数据库中不建议将字符集设置为UTF8,因为在MySQL默认设置中UTF8的一个汉字占3字节,但在数据库中有些字符占4字节,即推荐使用UTF8MB4,将字符设为4字节

查看数据库

查看所有数据库

查看当前数据库

(在查看当前数据库或使用指定数据库时,先定位需要查看的数据库,关键字USE)

删除数据库

注:在使用USE关键字指定查看某个数据据库时,当需要删除其他数据库则需要先指定到想要删除的数据库中,再使用DROP DATABASE删除语,即可删除该数据库

注:若没有指定查看某个数据库的操作,则只需要直接使用语句删除即可

注:在默认没有创建任何数据库时,系统内置的数据库切勿删除!

加上数据库if exists修饰语句(示意有则删除,没有则不删除)

查询数据库(表)

需指定数据库进行查询操作,通过USE语句实现

show tables查询某个数据库中的所有表,以MySQL的sys数据库为例:

表创建操作

注:

1. 最后一个字段结尾不需要加逗号

2. 每一条字段后尾的注释信息为可选参数,虽可以不写,但最好注明

案例练习:创建以下表结构

  1. 指定自定义数据库:itcast
  2. 对表进行创建基于create table 表名语句编写
  3. 编写完成后,使用show table查看当前数据库所创建的表

查看表结构

使用desc 表名语句查看所创建表结构e

在表结构中可查看当初创建的变量,类型

若想查看该表中的详细信息,可使用语句show create table 表名

注:在详情最后一条语句中

ENGINE = InnoDB 为 存储引擎

DEFAULT CHARSET = utf8mb4 为 默认字符集

COLLATE = utf8mb4_0900_ai_ci 为 默认排序方式

表结构数据类型

SQL数据类型主要分类:数值类型,字符串类型,日期时间类型

数值类型:

(精度为小数中整数和小数个数的集合,例如:345.34精度为5)

(标度为小数中,小数点后位的数字个数,例如:345.67标度为2)

字符串类型

注:(带BLOB存储二进制数据类型的数据分为:音频,安装包,视频等,存在数据库中)

在实际开发中在BLOB数据类型使用率不好,原因性能不高且不方便管理,最好使用专门的文件服务器进行存储

注:(通常在字符串类型需要写小括号加参数,例如:定长字符串char(10),边长字符串barchar(10))

定长字符串:在最大字长范围内无论写入多少,空间永远占用最大字符空间

变长字符串:可在最大字长范围内,使用多少,就占多少字符空间

性能

char--->性能高(使用时无需计算,直接按最大长度使用)

varchar--->性能差(使用时需要计算占用的空间)

日期事件类型

注:(其中date、time、datetime)使用次数较多

(创建表)案例练习:

使用create table 表名 DDL语句创建表编写如下代码:

create table emp(

id int unsigned comment '编号',

worknum varchar(10) comment '员工工号',

workname varchar(10) comment '员工姓名',

gender char(1) comment '性别',

age tinyint unsigned comment '年龄',

idcard char(18) comment '身份证号',

entrydate date comment '入职时间'

) comment '员工表';

修改表操作(案例)

1.在表中添加字段

案例:

为emp表增加新的字段''昵称''为nickname,类型为varchar(20)

2.修改表中字段

修改字段有2种形式:

1.

2.

案例:

将emp表的nickname字段修改为username,类型为varchar(30)

案例:

将emp表的username字段删除

  1. 修改表名

案例:

将emp表的表名修改为employee

3.删除表中字段

有两种形式:

1.

复习点:在语句中加上 if exists示意有则删,无则不删(可加可不加)

注:在删除表时,表中的数据也会被删除

2.

注:使用truncate table 表名

语句在重新创建后仍然可以使用desc语句,查看源数据库中的数据

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BingS_Fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值