数据定义语句(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 Dagger 2 无法自动生成 Dagger Component
给项目升级 gradle(3.0)和 build(27)后发现 Dagger 2 无法自动生成 Dagger Component 类了. 原因竟是我把 : kapt 'com.google.dagge ...
- LOJ#3052. 「十二省联考 2019」春节十二响(启发式合并)
题面 传送门 题解 先考虑一条链的情况,对于\(1\)号点来说,肯定是左子树中最大值和右子树中最大值一组,左子树中次大值和右子树中次大值一组--以此类推 那么如果不是一条链呢?我们把所有的链合并起来就 ...
- linux源码安装的步骤
源码安装的过程中多多少少会遇到问题,在此仅简述一下安装的步骤,具体安装的过程中遇到的问题,具体解决. 安装步骤: 1.获取源码 name.gz 2.解包 tar -xvf name.gz (cd到包解 ...
- WebDriver高级应用实例(9)
9.1封装操作表格的公用类 目的:能够使自己编写操作表格的公用类,并基于公用类进行表格中的元素的各类操作 被测网页的网址的HTML代码: <html> <body> <t ...
- python使用(四)
1.file_os_option.py2.file_option.py3.configfile_option.py4.logger_option.py 1.file_os_option.py # co ...
- Touch事件传递机制 Android
Touch事件分发中只有两个主角:ViewGroup和View.Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理. View在 ...
- Javac中的方法
例1: interface IA{ void m(int a); } abstract class AC implements IA{ // 这个抽象方法覆盖了 IA中的方法m public abst ...
- GO入门——5. 函数
1 函数 Go 函数 不支持 嵌套.重载和默认参数 定义函数使用关键字 func,且左大括号不能另起一行 函数也可以作为一种类型使用 无需声明原型 不定长度变参 func A(a string,c . ...
- 《Java多线程编程核心技术》——多线程与同步
Java多线程 线程可以理解为是在进程中独立运行的子任务. Java多线程 使用方法 Java中实现多线程主要有以下两种方法: 继承Thread,而后实例化该对象调用start()即启动了新线程; 实 ...
- PHP多进程系列笔记(二)
上一篇文章讲解了pcntl_fork和pcntl_wait两个函数的使用,本篇继续讲解PHP多进程相关新知识. 僵尸(zombie)进程 这里说下僵尸进程: 僵尸进程是指的父进程已经退出,而该进程de ...