1、创建表 – DDL语言(1 、2 、3)
1)create语句
语法:create table 表名(字段1 类型, 字段2 类型, …);
说明:表名不要超过30个字符;
表名、字段名(列名)是自由定义的;
所有的sql语句都是以 ; 结尾的。
SQL> create table user_zs(
id number(4),
password char(6),
name varchar2(10),
email varchar2(50)
);
2)desc语句
语法:desc 表名; 查看表的结构
SQL> desc user_zs;
select tname from tab; 查看所有的表
clear scr; 清屏
3)default 默认值
可以通过default给列指定默认值,如果指定默认值成功,该列没有插入数据,会使用默认值。如果该列插入了数据,显示的是插入的数据,默认值就失败了。
SQL> create table user1(
id number(4) default 1001,
name varchar2(10) default ‘zs’
);
注意:当使用中文字符时会出现‘无效字符’。(word中的’’在SQL plus中不适用)
4)**not null 约束**
是一个约束条件,用于确保该列不能为空;
默认情况下,任何列都允许有空值;
当某列被设置了not null非空约束,该列中必须存在有效值;
当执行插入数据的操作时,必须提供这个列的数据;
当执行更新操作时,不能给该列修改为null值。
SQL> create table user2(
id number(4) default 1001,
password char(4) not null
);
2、修改表
1)修改表名:在创建后希望修改表的名字。
语法:rename 原表名 to 新表名;
SQL> rename user2 to user_2;
- 增加列:给创建后的表增加列
语法:alter table 表名 add(字段1 类型, 字段2 类型, …);
SQL> alter table user_2 add(
name varchar2(20) not null,
age number(3)
);
说明:name列的not null非空约束不是必须加的,根据实际情况定的。但是列名和类型是必须要有的。
3) 删除列:给创建后的表删除列
语法1:alter table 表名 drop(字段1, 字段2, 字段3…);
SQL> alter table user_2 drop(id,password,age);
- 修改列:建表之后,可以改变表中列的数据类型、长度和默认值/约束。
语法: alter table 表名 modify(字段 类型 默认值/非空约束);
说明:类型的长度不要由大改小,在表中未插入数据之前可以由大改小,但是表中如果有了数据了,就会出现一些错误。
SQL> alter table user_zs modify(
id number(6) not null,
password varchar2(20)
);
3、删除表:删除一个表
语法:drop table 表名;
SQL> drop table user_zs;
表已删除
4、DML语句相关的操作
1)insert语句 --给表增加/插入数据
语法1:insert into 表名(字段1,字段2…)values(值1,值2…);
注意:DML语言执行完后,需要commit提交,才算真正的执行完毕。
SQL> select * from user_zs; 检索user_zs所有列的信息
insert into user_zs(id,password,name,email)
values(1001,’abc123’,’zs’,’aa@qq.com’);
set linesize 200; 设置每行写满200个字符才换行
insert into user_zs(id,password,name,email)
values(1002,’123456’,’ls’,’bb@qq.com’);
语法2:insert into 表名 values(值1,值2,值3,…);
说明:如果表名后不写()里的字段,values中的值必须是表中所有列的值,少一列都不可以。
语法3:insert into 表名(字段1,字段3) values(值1,值3);
说明:往表中某几个列插入数据。