SQL通用语法
(1)SQL语句可可以执行单行或多行书写,以分号结尾;
(2)SQL语句可以使用空格/缩进来增加语句的可读性;
(3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写;
(4)注释:单行注释:--注释内容 或 #注释内容(MySQL特有的)
多行注释: /* 注释内容 */
SQL语句的分类
(1)DDL Date Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段)
(2)DML Date Manipulation Language 数据操作语言,用来对数据表的数据进行增删改
(3)DQL Date Query Language 数据查询语言,用来查询数据库中表的记录
(4)DCL Date Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限
一、DDL-数据库操作
(1)查询:
查询所有的数据库:SHOW DATABASES;
查询当前数据库: SELECT DATABASE();
(2)创建:[]后的参数是可选的
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集 ] [CONTROL 排序规则];
(3)删除:
DROP DATABASE [IF EXISTS] 数据库名;
(4)使用:
USE 数据库名;
DDL-表操作-查询
(1)查询当前数据库所有表
SHOW TABLES;
(2)查询表结构
DESC 表名;
(3)查询指定表的建表语句
SHOW CREATE TABLE 表名;
DDL-表操作-创建 CREATE TABLE 新表名 AS SELECT * FROM 旧表名;
CREATE TABALE 表名(
字段1 字段1类型,
字段2 字段2类型,
... ,
字段n 字段类型
)[COMMENT 表注释];
注意:最后一个字段不要假逗号
CREATE TABLE 新表名 AS SELECT * FROM 旧表名; #复制表结构和数据到新表
CREATE TABLE 新表名 Like 旧表名; #复制表结构到新表
DDL-表操作-修改
(1)添加字段
ALTER TABLE 表名 ADD 字段名 类型 (长度) [COMMENT 注释] [约束];
(2)修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
(3)修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度);
DDL-表操作-删除
(1)删除字段:
ALTER TABLE 表名 DROP 字段名;
(2)删除表:
DROP TABLE [ IF EXISTS] 表名;
(3)删除制定表,并重新创建该表
TRUNCATE TABLE 表名;
DDL-表操作-修改
修改表名:ALTER TABEL 表名 RENAME TO 新表名;