SQL条记

打印 上一主题 下一主题

主题 835|帖子 835|积分 2505

1.DDL

数据定义语言重要是进行定义或改变表的结构、数据类型、表之间的链接等操纵
库操纵
  1. SHOW DATABASES; -- 查看所有数据库
  2. SHOW CREATE DATABASE database_name; -- 查看创建数据库的语句
  3. CREATE DATABASE [IF NOT EXISTS] database_name -- (如果数据库不存在)创建数据库
  4.   [CHARACTER SET charset_name]; -- (指定字符集)
  5. DROP DATABASE [IF EXISTS] database_name; -- (如果数据库存在)删除数据库
  6. USE database_name; -- 选择数据库
复制代码
表操纵
  1. SHOW TABLES; -- 查看数据库中的所有表
  2. SHOW CREATE TABLE table_name; -- 查看创建表的语句
  3. CREATE TABLE table_name; -- 创建表
  4. (
  5.           字段名   字段类型  [字段约束]             [注释],
  6.   column1 datatype [DEFAULT ''] [COMMENT ''],
  7.   column2 datatype [DEFAULT ''] [COMMENT '']
  8. );
  9. ALTER TABLE table_name CHANGE create_date create_time DATETIME; -- 修改create_date名字为create_time,类型为DATETIME类型
  10. ALTER TABLE table_name ADD update_time DATE AFTER create_time; -- 添加一个update_time,类型为DATE类型,AFTER表示在谁之后
  11. ALTER TABLE table_name DROP update_time; -- 删除表中的update_time字段
  12. DROP TABLE table_name; -- 删除表
  13. CREATE [UNIQUE] INDEX index_name -- 创建 [唯一] 索引 index_name
  14. ON table_name (column_name1 , column_name2)
复制代码
扩展
  1. -- 视图一般只是服务于查询,不建议基于视图更新表中数据
  2. -- 简化程序中SQL的编写,对外不直接暴露表的操作,提高表的安全性
  3. CREATE VIEW 视图名  -- 对查询到的数据创建视图
  4. AS
  5. 查询语句
  6. DROP VIEW emp_dept_loc_view -- 删除视图
  7. -- 提高数据的查询效率
  8. -- 索引会占用存储空间,同时会带来更新操作的复杂度
  9. show index from 表名 -- 查看索引
  10. drop index 索引名 on 表名; -- 删除索引
  11. CREATE TABLE 新表
  12. AS
  13. SELECT *|column1, column2, column3, ... FROM 旧表  -- 创建新表并从旧表中复制数据
  14. TRUNCATE TABLE d_data_flow; -- 清空表
  15. INSERT INTO table2 -- 向已存在表table2中插入表table1的数据
  16. (column_name(s))
  17. SELECT column_name(s)
  18. FROM table1;
复制代码
数据类型
数值
类型巨细用途TINYINT1 Bytes小整数值SMALLINT2 Bytes大整数值MEDIUMINT3 Bytes大整数值INT或INTEGER4 Bytes大整数值BIGINT8 Bytes极大整数值FLOAT4 Bytes单精度浮点数值DOUBLE8 Bytes双精度浮点数值DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2小数值 日期和时间
类型巨细格式用途DATE3 BytesYYYY-MM-DD日期值TIME3 BytesHH:MM:SS时间值或连续时间YEAR1 BytesYYYY年份值DATETIME8 BytesYYYY-MM-DD hh:mm:ss日期和时间值TIMESTAMP4 BytesYYYY-MM-DD hh:mm:ss日期和时间值,时间戳 字符串
类型巨细用途CHAR0-255 bytes定长字符串VARCHAR0-65535 bytes变长字符串TINYTEXT0-255 bytes短文本字符串TEXT0-65 535 bytes长文本数据MEDIUMTEXT0-16 777 215 bytes中等长度文本数据LONGTEXT0-4 294 967 295 bytes极大文本数据BLOB0-65 535 bytes二进制形式的长文本数据 其他数据类型
类型用途ENUM罗列类型,用于存储单一值,可以选择一个预定义的聚集SET聚集类型,用于存储多个值,可以选择多个预定义的聚集 字段约束
关键字作用PRIMARY KEY主键,必须唯一且不能为空,一般:AUTO_INCREMENT 自增,默认从1开始,步长1FOREIGN KEY外键,表之间建立关系时,外键值要与关系表中的主键值有对应关系NOT NULL非空,不允许为nullUNIQUE唯一,可以为nullDEFAULT默认值CHECK检查,比方check(salary>0) 2.DML

数据操纵语言,重要是对数据进行增加、删除、修改操纵
  1. INSERT INTO table_name (column1, column2, column3, ...) -- 向table_name表中插入字段
  2. VALUES (value1, value2, value3, ...);
  3. DELETE FROM table_name -- 删除表中数据
  4. WHERE condition; -- condition条件
  5. UPDATE table_name
  6. SET column1 = value1, column2 = value2, ... -- 修改表中数据
  7. WHERE condition;
  8. TRUNCATE table_name; -- 清空表中数据,truncate语句清空表中数据的效率要比delete语句高,但是一旦清空数据不可恢复
复制代码
3.DQL
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表