Python 测开27期 - julia - SQL简介

SQL 是什么

  • 结构化查询语言(Structured Query Language)简称 SQL
  • 一种特殊目的的编程语言
  • 一种数据库查询和程序设计语言
  • 用于存取数据以及查询、更新和管理关系数据库系统

通用语法

  • 可以单行或者多行书写,以分号结尾 ;
  • 可以使用空格和缩进来增加语句的可读性
  • 不区分大小写,一般关键字大写,数据库名 表名列名小写
  • 注释方式
# 单行注释,MySQL 特有的单行注释
-- 单行注释 
/*
多行注释
*/

分类

  • 数据定义语言(DDL):用来定义数据库对象,比如数据库,表,列等
  • 数据操作语言(DML):用来对数据库中表的记录进行更新
  • 数据查询语言(DQL):用来查询数据库中表的记录
  • 数据控制语言(DCL):用来定义数据库的访问权限和安全级别及创建用户

DDL 数据库操作 - 创建

创建数据库语法

  • IF NOT EXISTS:可选项,创建前先判断,未存在时才执行创建语句
  • 数据库名:必须指定的
  • CHARACTER SET =字符集:可选项,用于指定数据库的字符集
-- 创建数据库
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名
CHARACTER SET [=]  字符集

创建数据库注意事项

  • 不能与其他数据库重名
  • 名称可以由任意字母、阿拉伯数字、下划线(_)和“$”组成,但不能使用单独的数字
  • 名称最长可为 64 个字符,别名最长为 256 个字符。
  • 不能使用 MySQL 关键字作为数据库名
  • 建议采用小写来定义数据库名

创建基本数据库

-- 创建名为 test_db 的数据库
CREATE DATABASE test_db;

创建指定字符集的数据库

-- 创建名为 test_db2 的数据库,并指定字符集为 utf8
CREATE DATABASE test_db2 CHARACTER SET utf8;

创建数据库前判断是否存在同名数据库

-- 如果数据库 test_db3 不存在,则创建名为 test_db3 的数据库
CREATE DATABASE IF NOT EXISTS test_db3 CHARACTER SET utf8;