sql-2-DDL
DDL-定义数据库
1、对database操作
1、创建数据库
create database [if not exist] 库名;
CREATE DATABASE `shop` CHARACTER SET utf8 COLLATE utf_general_ci;
2、删除数据库
drop database [if exist] 库名;
3、使用数据库
use 库名;
use `库名`; --库名特殊时需要用``
4、查看数据库
show database;
2、对table操作
-- 创建表单
CREATE TABLE IF NOT EXISTS `student`(
`sno` INT(20) NOT NULL AUTO_INCREMENT COMMENT '学员id',
`sname` VARCHAR(20) NOT NULL,
`ssex` VARCHAR(20) NOT NULL,
`sbirthday` DATETIME,
UNIQUE KEY(`sno`)
)ENGINE=MYISAM DEFAULT CHARSET=utf8;
--增
create table if not exists `studentexit` (
字段 int(10) 列属性;
)engine=innodb default charset=utf8;
--删
drop [if exists]table 表名;
--改
alter table 表名 rename as 新表明;
--查
show tables;
3、对fields操作
--对字段修改前面都要加上
alter table 表名
--增
add 字段名 约束和列数属性
--删
drop 字段名;
--改
modify 字段名 约束和列属性;
change 字段名 新字段名 [约束];
注意:modidy侧重于修改,不能改名字
change侧重于改变,可以对这个字段全方位修改
--查
use 表名;
describe 表名;
4、简化写代码过程
show create table 表名;展示之前的table怎么创建的命令行,可以直接修改这个命令行简化时间。
5、概念
1、数据类型
- 数值
tinyint 1个字节
smallint 2个字节
mediuint 3个字节
int 4个字节
big 8个字节
float 4个字节
double 8个字节
decimal 字符串类型的浮点数,不会有金融损失
- 字符串
char 0~255字节
varcahr 0~65535字节
tinytext 0~2^8 字节
text 2^16
- 时间和日期
data YYYY-MM-DD:日期格式
time HH-mm-ss:时间格式
datatime YYYY-MM-DD HH-mm-ss
timestamp 时间戳,1970.1.1到现在的毫秒数
year 年份
- null
用null计算必得null
2、字段属性
unsigned
- 无符号整数,即不能为负数
zerofill
- 规定数为5位,但只输入了5,会变成00005。
auto increment
- 每次记录都会在前一次数据上增加1,可以在高级设置更改一般都设置成数据的序列作为index,且只能为整数
项目成品的必要字段
verson
乐观锁is_delete 伪删除
gmt_create 创建时间
gmt_update 更新时间
3、数据库引擎innodb,myisam
ENGINE=INNODB DEFAULT CHARSET=utf8 --就是这个
myisam | innodb | |
---|---|---|
事务处理 | 不支持 | 支持 |
锁定方式 | 表锁定 | 行锁定 |
外键约束 | 不可读取其他数据库 | 可以 |
全文索引 | 支持 | 不支持 |
储存空间 | 1kb | 为myisam的两倍 |
myisam:节约空间,速度快,且支持全文索引。
innodb:安全性高,且工作时只行锁定支持多人合作,支持事务处理。
数据库引擎原理
- 以idb文件存在
数据库引擎是mysql中一种保存和读取数据的引擎。
- 以idb文件存在
设置数据库的字符集编码
默认:latin1,不支持中文,而我们需要中文
定义表单时加上charset=utf8
或者在my.ini中加入character-set-server=utf8
sql-2-DDL的更多相关文章
- JAVA-Unit01: 数据库原理 、 SQL(DDL、DML)
Unit01: 数据库原理 . SQL(DDL.DML) SQL语句是不区分大小写的,但是行业里习惯将关键字与分关键字用大小写岔开以提高可读性. SELECT SYSDATE FROM dual DD ...
- SQL Server DDL触发器运用
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 基础知识(Rudimentary Knowledge) DDL运用场景(DDL Scene) ...
- SQL之DDL
DDL是SQL定义语言,它主要包括三个关键字:create ,alter , drop(数据库关键字不分大小写 ),主要操作对象 有数据库.表.索引.视图等 操作 ...
- DBA常用SQL之DDL生成语句
获取对象定义的包为:dbms_metadata,其中的get_ddl函数是获取对象的函数 GET_DDL函数返回创建对象的原数据的DDL语句,参数说明 .object_type ---需要返回原数据的 ...
- SQL基础-----DDL
1 (My)SQL入门 这里用了(My)SQL这样的标题,目的是介绍标准SQL的同时,也将MySQL在标准SQL上的扩展一同介绍给读者. 2:SQL分类 SQL语句主要可以划分为以下3个类别 .DDL ...
- SQL Server DDL触发器
DDL 触发器作用: DDL 触发器主要用于防止对数据库架构.视图.表.存储过程等进行的某些修改. DDL 触发器事件: DDL 触发器在创建用来监视并响应该数据库或服务器实例中的活动的事件通知时,可 ...
- SQL、PL/SQL、DDL、DML、TCL介绍
SQL:结构化查询语言(Structured Query Language) PL/SQL:过程化SQL语言(Procedural Language/SQL) DDL(Data Definition ...
- 【转】ORACLE SQL基础—DDL语言 礼记八目 2017-12-23 21:26:21
原文地址:https://www.toutiao.com/i6502733303550837261/ SQL语言分为:DDL数据定义语言,DML数据操纵语言,DCL是数据库控制语言,TC事务控制语言 ...
- SQL的DDL和DML
DDL:数据定义语言,定义库.表结构用的DML:数据操作语言,增.删.改.查DCL:数据控制语言,权限.事务等控制语句 (一)DDL1.操作数据库的语句(1)查看当前DBMS中的所有数据库show d ...
- DBA常用SQL之DDL生成语句-2
------数据迁移常用SQL SELECT 'DROP USER '||u.username ||' CASCADE;' AS dropstrs FROM DBA_USERS U where u.u ...
随机推荐
- 低层级GPU虚拟内存管理引论
低层级GPU虚拟内存管理引论 Introducing Low-Level GPU Virtual Memory Management CUDA应用程序越来越需要尽可能快速高效地管理内存.在CUDA 1 ...
- Nucleus-SE迁移:未实现的设施和兼容性
Nucleus-SE迁移:未实现的设施和兼容性 Nucleus SE migration: Unimplemented facilities and compatibility Nucleus SE的 ...
- Java设计模式(4:里氏替换原则和合成复用原则详解
一.里氏替换原则 如果说实现开闭原则的关键步骤就是抽象化,那么基类(父类)和子类的继承关系就是抽象化的具体实现,所以里氏替换原则就是对实现抽象化的具体步骤的规范.即:子类可以扩展基类(父类)的功能,但 ...
- 四、配置及使用Zabbix监控系统
要求: 沿用练习- - -,使用Zabbix监控平台监控Linux服务器,实现以下目标:1.监控CPU2.监控内存3.监控进程4.监控网络流量5.监控硬盘 方案:通过Zabbix监控平台,添加被监控z ...
- 【NX二次开发】获取指定矩阵标识的矩阵值
函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...
- MySQL零散知识点(01)
内容概要 --- 表字段操作补充(掌握) --- python操作MySQL(掌握) --- 视图(了解) --- 触发器(了解) --- 存储过程(了解) --- 事务(掌握) --- 内置函数(了 ...
- 安卓开发(3)—1— Activity
安卓开发(3)-1- Activity 3.1 Activity是什么: 在前面安卓概述中有提到,Activity是Android开发中的四大组件,所有在app里可以看到的东西都是Activity里面 ...
- 自动按需引入组件用不了(Vant)
按照官网的自动按需引入之后,这样写是报错的,直接在vue页面中这样引用也是报错的. 正确的使用方法是这样的
- 自定义Nuget包的技巧一二
背景: 在项目中, 通常会拆分成核心库(Core)和应用(App)两个部分.核心库由专人维护, 不同的App是不同的团队,但都引用了核心库.当核心库需要升级更新时,有的应用会更新,有的不会--可能是没 ...
- CosId 1.0.0 发布,通用、灵活、高性能的分布式 ID 生成器
CosId 通用.灵活.高性能的分布式 ID 生成器 介绍 CosId 旨在提供通用.灵活.高性能的分布式系统 ID 生成器. 目前提供了俩大类 ID 生成器:SnowflakeId (单机 TPS ...