1 什么是SQL
结构化查询语言(Structured Query Language)简称SQL
SQL语句就是对数据库进行操作的一种语言
2 SQL语句的分类
1、DDL(Data Definition Language) 数据定义语言 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter等
2、DML(Data Manipulation Language) 数据操作语言 用来对数据库中表的数据进行增删改。关键字:insert, delete, update等
3、DQL(Data Query Language) 数据查询语言 对数据库进行数据查询,关键字select
4、DCL(Data Control Language)数据控制语言(了解)是用来设置或更改数据库用户或角色权限的语句,这个比较少用到
3 SQL通用语法
1、SQL语句可以单行或多行书写,以分号结尾
2、可使用空格和缩进来增强语句的可读性
3、MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
4 SQL的注释
单行注释: - - 注释
多行注释: /注释 /
MYSQL特有的单行注释:# 注释
5 DDL 操作(操作数据库和表)
5.1 DDL 操作数据库
5.1.1 创建数据库
1、直接创建数据库
CREATE DATABASE 数据库名;
2、判断是否存在并创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
3、创建数据库并指定字符集(编码表)
CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
5.1.2 查看数据库
1、查看所有的数据库
SHOW DATABASES;
2、查看某个数据库的定义信息
SHOW CREATE DATABASE 数据库名;
5.1.3 修改和删除数据库
1、修改数据库字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 新字符集;
2、删除数据库
DROP DATABASE 数据名;
5.1.4 使用和切换数据库
1、查看正在使用的数据库
SELECT DATABASE();
2、使用/切换数据库
USE 数据库名;
5.2 DDL 操作表
5.2.1 创建表
1、创建表
CREATE TABLE 表名(
字段名 数据类型,
字段名 数据类型
);
2、快速创建一个表结构相同的表,只是表没有数据
CREATE TABLE 表名 LIKE 其他表;
5.2.2 查看表
1、查看某个数据库中的所有表
SHOW TABLES;
2、查看表结构
DESC 表名;
3、查看创建表的SQL语句
SHOW CRETE TABLE 表名;
5.2.3 删除表
1、直接删除表
DROP TABLE 表名;
2、判断表是否存在并删除表
DROP TABLE IF EXISTS 表名;
5.2.4 修改表结构
1、添加一列(字段)
ALTER TABLE 表名 ADD 字段名 字段类型;
2、修改列类型(MODIFY只能修改类型)
ATLER TABLE 表名 MODIFY 字段名 新的类型;
3、修改列名(CHANGE可以同时修改字段和类型)
ALTER TABLE 表名 CHANGE 老字段名