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