SQL语句----DDL

SQL语句----DDL

    • SQL通用语法
    • SQL分类
    • DDL--数据库操作
    • DDL--表操作

SQL通用语法

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

SQL分类

SQL语句----DDL_第1张图片

DDL–数据库操作

查询
查询所有数据库

SHOW DATABASES;

查询当前数据库

SELECT DATABASE();

创建

CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集 ] [ COLLATE 排序规则 ];

删除

DROP DATABASE [ IF EXISTS ] 数据库名;

使用

USE 数据库名;

DDL–表操作

查询
查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC 表名;

查询指定表的建表语句

SHOW CREATE TABLE 表名;

创建

CREATE TABLE 表名 (
	字段1 字段1类型 [ COMMENT 字段1注释 ],
	字段2 字段2类型 [ COMMENT 字段2注释 ],
	字段3 字段3类型 [ COMMENT 字段3注释 ],
	...
	字段n 字段n类型 [ COMMENT 字段n注释 ]
)[ COMMENT 表注释 ];

最后一个字段不用逗号
数据类型
MySQL中的数据类型主要分为三类:
数值类型、字符串类型、日期时间类型

数值类型:
SQL语句----DDL_第2张图片
double(共有几位数,小数的位数)
decimal(精度,标度)
精度 数的位数;标度 小数的位数

字符串类型:
SQL语句----DDL_第3张图片
char 定长,性能高
varchar 不定长,性能较差
char设定好字符串的长度,不足会用空格补充;varchar会根据字符串的长度分配空间,由于要计算需要多少空间,所以性能较差

日期时间类型:
SQL语句----DDL_第4张图片
案例:
SQL语句----DDL_第5张图片

CREATE TABLE emp (
	id INT COMMENT'编号',
	num VARCHAR(10) COMMENT'员工编号',
	`name` VARCHAR(10) COMMENT'员工姓名',
	gender CHAR(1) COMMENT'性别',
	age TINYINT UNSIGNED COMMENT'年龄',
	`no` CHAR(18) COMMENT'身份证号',
	·time· DATE COMMENT'入职时间'
) COMMENT'员工信息表';

修改
添加字段:

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];

为emp表添加字段‘nickname’ varchar(20)

ALTER TABLE emp ADD nickname VARCHAR(20);

修改数据类型:

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

nickname 数据类型改为 VARCHAR(10);

ALTER TABLE emp MODIFY nickname VARCHAR(10);

修改字段名和字段类型:

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [comment 注释] [约束];

nickname 数据类型改为 VARCHAR(20);

ALTER TABLE emp CHANGE nickname username VARCHAR(20);

删除字段:

ALTER TABLE 表名 DROP 字段名;

删除新的字段

ALTER TABLE emp DROP username; 

修改表名:

ALTER TABLE 表名 RENAME TO 新表名;

emp表名改为employee

ALTER TABLE emp RENAME TO employee;

删除表:

DROP TABLE [IF EXISTS] 表名;

删除表并重新创建该表:

truncate table 表名;

注意:在删除表时表中的数据也会全被删除

你可能感兴趣的:(MySQL,sql,数据库,mysql)