感觉自己数据库压根不懂,所以开始学习数据库有关的知识
一、表的创建:
表的创建有两种方式,一种是直接创建表,另外一种是在一个已存在的表的情况下创建一个表
第一种:
create table 方案名.表名(
列名 数据类型 约束条件,
列名 数据类型,
表极约束条件);
这就是一个表的创建
这就创建了一个表。
创建表不是所有功能都要实现
比如方案名,列约束条件,和表约束调节这些都是可以不需要的。当然在学习时是不重要但是当你做项目时就需要了
编号 | 字段名 | 数据结构 | 说明 |
1 | Sno | number | 学号 |
2 | Sname | Char(20) | 姓名 |
3 | Sesx | char(2) | 性别 |
4 | Sage | number | 年龄 |
5 | Sdept | Char(20) | 系别 |
创建一个如上图的表
第二种:
它的格式是:
create table 方案名.表名(
列名 ,列名
表极约束条件)
as 子查询;
我接下来创建根据学生表来创建一个新的表
编号 | 字段名 | 数据结构 | 说明 |
1 | Sno | number | 学号 |
2 | Sname | Char(20) | 姓名 |
创建一个如上的表
其sno和sname就来自上边的学生表
创建表的同时也会把其中的数据也一并带入表中
建表规范:
a. 必须以字母开头
b. 只能包含:大小写字母、数字、_、$、#
c. 长度1-30个字符
d. 不能与用于定义的其他对象重名
数据库对象:表、视图、序列、索引、同义词
e. 不能与保留字重名
表建好了,如何查询你建的表呢?
使用desc关键字
desc 表名;
这就可以你所创建的表
二、修改表
这个时候应用到了alter table关键字
a.向表中添加新列
alter table 表名 add 新列名 数据类型 约束条件(可以不写);
向上边新建的newstudent表中添加
Sesx | varchar(2) | 性别 |
语句:alter table newstudent add sex varchar2(4)
添加前:
添加列 :
添加后:
b.删除指定列
alter table 表名 trop column 列名;
删除上边新添加列
语句:alter table newstudent trop column sex;
删除前:
删除:
删除后:
c、 重新定义某一个列
alter table 表名 modify 名字 新的数据类型;
修改上边的列:name 的char(20) 改为 varchar(30);
语句:alter table newstudent modify name varchar(30);
更改前:
更改:
更改后:
注意: blob/clob类型不能修改
d、修改列的名字
alter table 表名 rename 列名 to 新列名
将上边的name改名为sname
更改前:
更改:
更改后:
e、更新表名
alter table 表名 rename to 新表名;
将上边newstudent改为mystudent
语句:alter table newstudent rename to mystudent;
更改前:
更改:
更改后:
三、删除表
drop table 表名;
删除上边创建的mystudent表:
语句 drop table mystudent;
删除前:
删除:
删除后:
四、数据的插入与删除
a、插入数据
插入数据有两种方式
1、insert into 表名 (列名1,列名2,....)values(值1,值2,....);
查入数据时列名输入对应的值
向student表中插入数据,只插入id,name,sex3个值
插入前:
插入:
插入后:
此时插入的数据为只插入三个,其它两个为null
2、insert into 表名 values(值1,值2,...)
插入一条该表中一条数据,这条数据应该插入所有对应的列的数据,并按照列的顺序插入数据
向一开始建的student表中插入一条数据
插入前:
表中无任何数据
插入:
插入后:
b、删除数据
delete 表名 where (表达式);
删除上边一条数据
delete student where sno=1;
删除前:
删除:
删除后:
没有了数据
select * from 表名
为查询该表中的数据。