MySQL学习day02

一、SQL通用语法

1)SQL语句可以单行或多行书写,以分号结尾
2)SQL语句可以使用空格/缩进来增强语句的可读性
3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
4)注释:
a)单行注释:-- 注释内容 或 # 注释内容(MySQL特有)
b)多行注释:/*注释内容 */

二、SQL分类
分类 全称 说明
DDL Data Definition 数据定义语言,用来定义数据库对象(数据库,表,字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限
1、DDL数据定义语言

1)DDL-数据库操作

  • 查询
    查询数据库:
    show databases;
    查询当前数据库:
    select database();
  • 创建:
    create Database [if not exists] 数据库名 [defaut charset 字符集] [collate 排序规则];
    推荐使用utf8mb4字符集,有的字符占4个字符集
  • 删除:
    drop database [if exists]数据库名;
  • 使用:
    use 数据库名;

2)DDL-表操作-查询

  • 查询当前数据库所有表
    show tables;
  • 查询表结构
    desc 表名;
  • 查询指定表的建表语句
    show create table 表名;

3)DDL-表操作-创建

create table 表名(字段1 字段1类型[comment 字段1注释],
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
字段3 字段3类型[comment 字段3注释],
......
字段n 字段n类型[comment 字段n注释],)[comment 表注释];
注意:[…]可选参数,最后一个字段后面没有逗号

案例分析:
创建一个数据库表:
MySQL学习day02_第1张图片
MySQL学习day02_第2张图片
MySQL学习day02_第3张图片

4)DDL-表操作-数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

数值类型:
MySQL学习day02_第4张图片

字符串类型:
MySQL学习day02_第5张图片
注意:char定长字串要比varchar可变字串性能高,例如性别只有一个字符,使用char比较合适。

日期时间类型:
MySQL学习day02_第6张图片
案例分析

设计一张员工信息表,要求如下:
1)编号(纯数字)
2)员工工号(字符串类型,长度不超过10位)
3)员工姓名(字符串类型,长度不超多10位)
4)性别(男/女,储存一个汉字)
5)年龄(正常人年龄范围,不能有负数)
6)身份证号(二代身份证号均为18位,且包含X这样字符)
7)入职时间(取值年月日即可)

MySQL学习day02_第7张图片
MySQL学习day02_第8张图片
5)DDL-表操作-修改

添加字段 :
alter table 表名 add 字段名 类型(长度)[comment注释] [约束];

案例分析:

为emp表增加一个新的字段“昵称”为nickname,类型为varchar(20)

MySQL学习day02_第9张图片
MySQL学习day02_第10张图片

修改数据类型:
alter table 表名 modify 字段名 新数据类型(长度);
修改字段名和字段类型:
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment注释] [约束];

案例:

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

在这里插入图片描述
MySQL学习day02_第11张图片

修改表名:
alter table 表名 rename to 新表名;

案例分析:

将emp表的表名修改为employee:

在这里插入图片描述

6)DDL-表操作-删除

删除字段:
alter table 表名 drop 字段名;

案例分析: 将emp表的字段username删除

在这里插入图片描述

删除表:
drop table [if exits] 表名;
删除指定表,并重新创建该表:
truncate table 表名;

你可能感兴趣的:(mysql,学习,数据库)