文章目录
- 1.SQL通用语法
- 2.SQL的分类
- 3.DDL
- 3.1数据库操作
- 3.2 表操作
- 3.2.1 表操作--数据类型
- 3.2.2 表操作--修改
- 3.2.3 表操作--删除
SQL
全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 。
1.SQL通用语法
1). SQL语句可以单行或多行书写,以分号结尾。
2). SQL语句可以使用空格/缩进来增强语句的可读性。
3). MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
4). 注释:
单行注释:-- 注释内容 或 # 注释内容
多行注释:/* 注释内容 */
2.SQL的分类
SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。
3.DDL
3.1数据库操作
1). 查询所有数据库
show databases;
2). 查询当前数据库
show database();
3). 创建数据库
create database [if not exists] 数据库名 [defualt charset 字符集] [collate 排序规则];
举例:
创建一个itcast数据库, 使用数据库默认的字符集。
create database itcast;
这里需要注意:在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。
可以通过if not exists 参数来解决这个问题,
create database if not extists itcast;
数据库不存在, 则创建该数据库,如果存在,则不创建。
4). 删除数据库
drop database [if exists] 数据库名;
5). 切换数据库
use 数据库名;
我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。
比如,切换到itcast数据,执行如下SQL:
use itcast;
3.2 表操作
1). 查询当前数据库所有表
show tables;
举例:
我们可以切换到sys这个系统数据库,并查看系统数据库中的所有表结构。
use sys;show tables;
2). 查看指定表结构
desc 表名;
我们可以通过这条指令查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信息。
3). 查询指定表的建表语句
show create table 表名;
这里有部分参数我们在创建表的时候,并未指定也会查询到,因为这部分是数据库的默认值,如:存储引擎、字符集等。
4). 创建表结构
CREATE TABLE 表名(字段1 字段1类型 [COMMENT 字段1注释 ],字段2 字段2类型 [COMMENT 字段2注释 ],字段3 字段3类型 [COMMENT 字段3注释 ],......字段n 字段n类型 [COMMENT 字段n注释 ]
) [ COMMENT 表注释 ] ;
注意:最后一个字段后面没有逗号。
3.2.1 表操作–数据类型
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
1). 数值类型
2). 字符串类型
3). 日期时间类型
案例:
设计一张员工信息表,要求如下:
- 编号(纯数字)
- 员工工号 (字符串类型,长度不超过10位)
- 员工姓名(字符串类型,长度不超过10位)
- 性别(男/女,存储一个汉字)
- 年龄(正常人年龄,不可能存储负数)
- 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
- 入职时间(取值年月日即可)
对应的建表语句如下:
create table emp(id int comment '编号',workno varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',entrydate date comment '入职时间'
) comment '员工表';
我们利用desc指令查询表结构信息:
desc emp;
3.2.2 表操作–修改
1). 添加字段
alter table 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];
举例:
为emp表增加一个新的字段”昵称”为nickname,类型为varchar(20)
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';
2). 修改数据类型
alter table 表名 modify 字段名 新数据类型(长度);
3). 修改字段名和字段类型
alter table change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
4). 删除字段
alter table 表名 drop 字段名;
5). 修改表名
alter table 表名 rename to 新表名;
3.2.3 表操作–删除
1). 删除表
drop table [if exists] 表名;
2). 删除指定表,并重新创建表
truncate table 表名;
注意:删除表的时候,表中的全部数据也会被删除。
以上就是DML语句的介绍 ,关于其他SQL语法,可以参考DML语句,在我的MySQL专栏MySQL。