SQLite数据库表操作指南:查看、添加、删除与重命名列及表
PL/SQL怎么看建表的源代码
如果使用PLsql工具,可以选择在SQLwindows下右键表名->查看->然后挂右下角的viewsql来查看源代码。sqlite查看所有表名及字段名,及判断是否存
1.查询和判断表
要查询SQLite中的所有表,可以使用以下SQL语句。
原理是在SQLite中有一个内置的表sqlite_master,里面存储了所有自建表的表名等信息。
selectnamefromsqlite_masterwheretype='table'orderbyname;
我们可以通过下面的语句来显示这个内置表的所有记录
select*fromsqlite_master;
这里可以进一步扩展:判断指定的表是否存在,可以使用如下语句:
selectcount(*)fromsqlite_masterwheretype='table'andname='yourtablename';
其中yourtablename代表我要判断的你正在使用的表的名称。
如果结果大于0,则表示该表在数据库中存在,否则不存在。
2.查询判断列
使用如下语句可以查询表的所有字段信息
PRAGMAtable_info([表名])
例如:我想显示表目录的所有列信息。
结果如图/p>
PRAGMAtable_info(catalog)
3.SQLite中添加、删除和重命名列
3.1添加列
方法:使用SQL命令
命令:ALTERTABLE表名ADDCOLUMN列名column-type
例如:在student表中添加一个名为“name”的列。
类型为varchar:
altertablestudentaddcolumnnamevarchar;
altertablecatalogaddcolumnxxx1char(20)default'';
3.2删除一列
方法:有SQLite中不能使用drop命令删除列,
altertablestudentdropcolumnname//该行不能在SQLite中使用,SQLite不支持Drop
可以使用下面的思路,类似于swap()函数的过程。
例如,我有表A。
A中有三列:x、y和z。
我想删除表A中的x列。
然后
第一步:新建表B。
B包含两个字段y和z,类型与A中的y、z类型相同。
第二步:将A中y、z列的所有值复制到B。
以上两步一条命令即可完成
createtableBasselecty,zfromA
注意那上面的命令用于创建如果A中y的类型为char,则将在B中TEXT类型的y列中创建。
即,字符类型改变。
第3步,删除表A
droptableifexistsA
第4步,将表B重命名为A
altertableBrenametoA
3.3重命名列
方法:与删除列一样,alter无法在SQLite中重命名列。
如果要重命名列,过程与删除列相同。
4.SQLite中的添加、删除和重命名表
SQL语句在3.2中可用。
整理如下。
4.1新建表
createtableA(idchar(20),channeltext,nametext,primarykey(id))
createtableBasselecty,zfromA
4.2删除表
droptableifexistsA
4.3重命名表
altertableBrenametoA