数据定义语句(DDL语句)
建立表
create table 表名(
字段名1 类型,
字段名2 类型,
........
字段名n 类型);
类型有:
- char(n) 是一个类型,叫定长字符串,数据不够就补空格
- varchar2(n) 是变长字符串(有多少就存多少,不会补空格)
为什么要有这两种?
这是因为计算机是时间和空间的结合体,省时就浪费,不浪费就费时。比如结构体的对齐和补齐就是提高寻址效率的,但是浪费空间定长的字符串效率高,但是会浪费空间。变长字符串效率低一点,但是省空间。我们一般使用变长字符串,除非是那些基本上不改变长度的字符串就用定长字符串,至于提高效率方面还有别的语句去优化。
- number(n,m)数字类型 n-m个整数位,m位小数位
- number 一般用这个,不用指定几个整数几个小数(就像%f和%3.2f)
- date 是日期类型
一般记上面这四种就行
还有其他的:但是都不怎么用了
因为一般都存储这些数据对应的路径,不用放到数据库中
- BLOB 0~4g 大二进制
- CLOB 0~4g 大字符类型
- varchar2(n)一般能存几k左右(就是几千个字符)
演示:建立一张表(取别名和表名时不要用关键字,公司多会规定表名)
字段:
- id number ,
- fname char(10),
- sname varchar(10)【没有写2不要紧,oracle会自动加2】,
- salary number
create table emp1111(id number, fname char(10), sname varchar(10), salary number);

再查看:
desc emp1111;

插入数据:
insert into emp1111 values(1, 'xsy', 'xsy', 12345);

查询表:
select * from emp1111;

查看定长字符串和变长字符串在长度上的区别:
select length(fname), length(sname) from emp1111;

查询具体的数据也有区别,查询字符串‘xsy ’(带一个空格):
select * from emp111 where fname='xsy';

删除表
drop table 表名;
如果有人在操作该表,没有提交,就不能删除掉表,会提示正忙。
drop table emp1111;

修改表结构(用的不多,一般是删表重建)
drop column 字段名; 删除一个字段
add 字段名 类型; 增加一个字段
先建立一张表,有四个字段:
create table emp1112(id number, fname char(10), sname varchar(10), salary number);

删除一个字段:
alter table emp1112 drop column salary;

查看结果:
desc emp1112;

再加一个字段:(oracle里add不写colum,有些数据库要加)
alter table emp1112 add salary number;

查看结果:
desc emp1112;

数据定义语句(DDL语句)的更多相关文章
- MySQL之数据定义语言(DDL)
写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...
- mysql语句-DDL语句
SQL分类 1.DDL语句:数据定义语句,用来定义不同的数据段.数据库,表,列,索引等数据表对象,常用语句:create.drop.alter等. 2.DML语句:数据操作语句,用于添加.删除.更新和 ...
- ODPS SQL <for 数据定义语言 DDL>
数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...
- <MySQL>入门三 数据定义语言 DDL
-- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...
- 30441数据定义语言DDL
数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...
- SQL语句整理(二) 数据定义语言DDL
前言: 这是我学数据库时整理的学习资料,基本上包括了所以的SQL语句的知识点. 我的教材是人大王珊老师的<数据库系统概论>. 因为是手打的,所以会用一些细节打错了,但都挺明显也不多(考完试 ...
- 【MySQL笔记】数据定义语言DDL
1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件] ...
- SQLite基础-4.数据定义语言(DDL)
目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...
- mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)
0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...
- oracle 数据定义语言(DDL)语法
DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype ...
随机推荐
- Android在onCreate中获取控件的宽高
在某些需求下,我们需要在onCreate的时候就获取到控件的宽高,但是如果直接用view.getWidth()或view.getHeight()会得到0.这是因为在onCreate执行的时候,控件还没 ...
- java list集合运算
list集合运算 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.I ...
- Centos 7 快速搭建IOS可用IPsec
安装 strongswan yum install -y http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/Packages/e/ ...
- 线程中的读写锁ReadWriteLock
Lock锁还有两个非常强大的类 ReadWriteLock接口实现类ReentrantReadWriteLock(非常重要的锁) 想实现 读取的时候允许多线程并发访问,写入的时候不允许. 这种效果.. ...
- crontab命令使用文档.txt
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...
- solr(二) : 整合ik-analyzer
一. 问题: 在使用solr时, 分词器解析中文的时候, 是一个一个字解析的. 这并不是我们想要的结果. 而在lucene中, 使用的中文分词器是 IKAnalyzer. 那么在solr里面, 是不是 ...
- Linux系统修改防火墙配置
防火墙配置文件位置 /etc/sysconfig/iptables 需要开放端口,请在里面添加一条内容即可: 1 -A RH-Firewall-1-INPUT -m state --state NEW ...
- Python3 中使用sys.argv详解
#/usr/bin/env python #coding:utf-8 import sys # print(sys.argv[1]) def readFile(filename): "&qu ...
- 第一次项目上Linux服务器(二:——安装jdk)
本人采用的是rpm安装jdk1.8 1.下载jdk 去jdk下载页面找到要下载的jdk 本人下载的是jdk-8u161-linux-x64.rpm,百度云资源链接:链接:https://pan.bai ...
- 白话js this指向问题
前言 通过本文,你大概能了解this基础指向的问题,抛开例子去说this太虚幻,这里还是结合几篇博文做个整理,算是个人的记录了. 先说概念,this指向与申明无关,永远指向距离自己最近的最终调用者 ...