最近终于把项目搞完,所以呢,闲下来的时候想把之前感觉快遗忘的知识点整理一下,打了好多把撸阿鲁都感觉力不从心了。好了,还是不废话了,下面开始描述吧。
比方说我已经有了一个新的数据库,里面想创建一张表 teacher,对应的有 id ,name ,age ,score这几个字段,下面开撸:
1. 新建数据库表:
create table teacher(id integer primary key,name text,age integer,score real)
2. 添加数据:
insert into teacher(name,age,score) values('kobe',34,192)
insert into teacher(name,age,score) values('jim',15,100)
insert into teacher(name,age,score) values('peter',10,25)
3. 删除数据:
比如说我想删除jim,那么就可以这么写
delete from teacher where name='jim'
4. 修改数据:
例如我们将名字为kobe的同学,年龄改为25,那么可以这么写
update teacher set age=25 where name='kobe'
5. 查询数据:
查询所有元素的列表
select * from teacher
查询某一个元素的内容,例如有关Peter的所有信息
select * from teacher where name='peter'
查询某一个元素的某一些属性
select age from teacher where name='peter'
6. 重命名表名
*第一种方式:*
create table B(id integer primary key autoincrement,name text,age integer,score real)
insert into B(id,name,age,score) select id,name,age,score from A
drop table A
*第二种方式:*
alter table A rename to B
7. 往表里面添加一列
alter table teacher add phone vachar(20) null
8. 删除表内的某一列
很遗憾,sql语句里面并不支持直接对表的列进行删除操作,我们只有采取折中的方式进行操作了。加入我的表内多了一个phone字段,现在我不想要了,那么我们可以进行下面的几步即可完成。
- 创建一个新表A_temp,里面不要phone那一列
create table A_temp(id integer primary key autoincrement,name text,age integer,score real)
- b.将原来的A表的数据添加到A_temp中
insert into A_temp(id,name,age,score) select id,name,age,score from A
- c.删除掉原来的表
drop table A
- d.将新表重命名为原来的表名即可。其实这里有两种方法,一种是直接重命名即可,另一种是再次创建一个新表A,将内容直接导入进去,删掉A_temp。上面已经写了一次这种写法了,这里就不重复赘述了。
alter table A_temp rename to A
以上就是我最近对sql数据库的一些总结,由于个人技术有限,可能会有些许差错。为了不误导大家,希望阅读过的博友,如果发现纰漏可以直接在下面留言,或者有好的建议也可以留言,大家可以一起共同进步。