每种数据库语言并不完全一致,大致如下:
SQL ALTER TABLE 语法
如需在表中添加列,请使用下列语法:
ALTER TABLE table_name
ADD column_name datatype
要删除表中的列,请使用下列语法:
ALTER TABLE table_name
DROP COLUMN column_name
注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。
要改变表中列的数据类型,请使用下列语法:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
代码如下:
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlPreparedStatement;
import javasqlResultSetMetaData;
import javasqlSQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
ClassforName("commysqljdbcDriver");
String url = "jdbc:mysql://数据库IP地址:3306/数据库名称";
String user = "数据库用户名";
String pass = "数据库用户密码";
conn = DriverManagergetConnection(url, user, pass);
} catch (ClassNotFoundException e) {
eprintStackTrace();
} catch (SQLException e) {
eprintStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection conn = getConnection();
String sql = "select from AccessType";
PreparedStatement stmt;
try {
stmt = connprepareStatement(sql);
ResultSet rs = stmtexecuteQuery(sql);
ResultSetMetaData data = rsgetMetaData();
for (int i = 1; i <= datagetColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = datagetColumnCount();
// 获得指定列的列名
String columnName = datagetColumnName(i);
// 获得指定列的列值
int columnType = datagetColumnType(i);
// 获得指定列的数据类型名
String columnTypeName = datagetColumnTypeName(i);
// 所在的Catalog名字
String catalogName = datagetCatalogName(i);
// 对应数据类型的类
String columnClassName = datagetColumnClassName(i);
// 在数据库中类型的最大字符个数
int columnDisplaySize = datagetColumnDisplaySize(i);
// 默认的列的标题
String columnLabel = datagetColumnLabel(i);
// 获得列的模式
String schemaName = datagetSchemaName(i);
// 某列类型的精确度(类型的长度)
int precision = datagetPrecision(i);
// 小数点后的位数
int scale = datagetScale(i);
// 获取某列对应的表名
String tableName = datagetTableName(i);
// 是否自动递增
boolean isAutoInctement = dataisAutoIncrement(i);
// 在数据库中是否为货币型
boolean isCurrency = dataisCurrency(i);
// 是否为空
int isNullable = dataisNullable(i);
// 是否为只读
boolean isReadOnly = dataisReadOnly(i);
// 能否出现在where中
boolean isSearchable = dataisSearchable(i);
Systemoutprintln(columnCount);
Systemoutprintln("获得列" + i + "的字段名称:" + columnName);
Systemoutprintln("获得列" + i + "的类型,返回SqlType中的编号:"+ columnType);
Systemoutprintln("获得列" + i + "的数据类型名:" + columnTypeName);
Systemoutprintln("获得列" + i + "所在的Catalog名字:"+ catalogName);
Systemoutprintln("获得列" + i + "对应数据类型的类:"+ columnClassName);
Systemoutprintln("获得列" + i + "在数据库中类型的最大字符个数:"+ columnDisplaySize);
Systemoutprintln("获得列" + i + "的默认的列的标题:" + columnLabel);
Systemoutprintln("获得列" + i + "的模式:" + schemaName);
Systemoutprintln("获得列" + i + "类型的精确度(类型的长度):" + precision);
Systemoutprintln("获得列" + i + "小数点后的位数:" + scale);
Systemoutprintln("获得列" + i + "对应的表名:" + tableName);
Systemoutprintln("获得列" + i + "是否自动递增:" + isAutoInctement);
Systemoutprintln("获得列" + i + "在数据库中是否为货币型:" + isCurrency);
Systemoutprintln("获得列" + i + "是否为空:" + isNullable);
Systemoutprintln("获得列" + i + "是否为只读:" + isReadOnly);
Systemoutprintln("获得列" + i + "能否出现在where中:"+ isSearchable);
}
} catch (SQLException e) {
eprintStackTrace();
}
}
}
SQL数据类型有以下这些:
1、二进制数据类型。
二进制数据包括 Binary、Varbinary 和 Image
Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4 个字节。
Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4个字节,不是n 个字节。
2、字符数据类型。
字符数据类型包括char、varchar和text。
字符数据是由字母、符号和数字的任意组合组成的数据。
varchar是可变长度字符数据,其长度不超过8kb。char是最大长度为8kb的固定长度字符数据。超过8kb的ASCII数据可以使用文本数据类型存储。
3、Unicode 数据类型。
Unicode数据类型包括nchar、nvarchar和ntext。
在Microsoft SQL Server中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。在安装SQL Server期间,允许选择字符集。
在Unicode标准中,包含由各种字符集定义的所有字符。使用Unicode数据类型占用的空间是使用非Unicode数据类型的两倍。
4、日期和时间数据类型。
日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型。
日期和时间数据类型由有效的日期和时间组成。
例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。
前一个数据类型是日期在前,时间在后。后一个数据类型是时间在前,日期在后。
在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。
5、数字数据类型。
数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点)和整数。
整数由正整数和负整数组成,如39、25、0-2和33967。在Microsoft SQL Server中,存储在整数中的数据类型是int、smallint和tinyint。
int数据类型存储的数据多于smallint数据类型,而smallint数据类型存储的数据多于tinyint数据类型。
使用int数据类型存储数据的范围从-2 147 483 648到2 147 483 647(每个值需要四个字节的存储空间)。
6、货币数据类型。
在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。
参考资料来源:百度百科-SQL数据类型
下面列出:
1增加一个字段
alter
table
user
add
COLUMN
new1
VARCHAR(20)
DEFAULT
NULL;
//增加一个字段,默认为空
alter
table
user
add
COLUMN
new2
VARCHAR(20)
NOT
NULL;
//增加一个字段,默认不能为空
2删除一个字段
alter
table
user
DROP
COLUMN
new2;
//删除一个字段
3修改一个字段
alter
table
user
MODIFY
new1
VARCHAR(10);
//修改一个字段的类型
alter
table
user
CHANGE
new1
new4
int;
//修改一个字段的名称,此时一定要重新
//主键
alter
table
tabelname
add
new_field_id
int(5)
unsigned
default
0
not
null
auto_increment
,add
primary
key
(new_field_id);
//增加一个新列
alter
table
t2
add
d
timestamp;
alter
table
infos
add
ex
tinyint
not
null
default
‘0′;
//删除列
alter
table
t2
drop
column
c;
//重命名列
alter
table
t1
change
a
b
integer;
//改变列的类型
alter
table
t1
change
b
b
bigint
not
null;
alter
table
infos
change
list
list
tinyint
not
null
default
‘0′;
//重命名表
alter
table
t1
rename
t2;
加索引
mysql>
alter
table
tablename
change
depno
depno
int(5)
not
null;
mysql>
alter
table
tablename
add
index
索引名
(字段名1[,字段名2
…]);
mysql>
alter
table
tablename
add
index
emp_name
(name);
加主关键字的索引
mysql>
alter
table
tablename
add
primary
key(id);
加唯一限制条件的索引
mysql>
alter
table
tablename
add
unique
emp_name2(cardnumber);
删除某个索引
mysql>alter
table
tablename
drop
index
emp_name;
增加字段:
mysql>
ALTER
TABLE
table_name
ADD
field_name
field_type;
修改原字段名称及类型:
mysql>
ALTER
TABLE
table_name
CHANGE
old_field_name
new_field_name
field_type;
删除字段:
mysql>
ALTER
TABLE
table_name
DROP
field_name;
mysql修改字段长度
alter
table
表名
modify
column
字段名
类型;
例如
数据库中user表
name字段是varchar(30)
可以用
alter
table
user
modify
column
name
varchar(50)
;
■关系数据库factsandinformation
关系数据库是建立在集合代数基础上,应用数学方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
关系模型由关系数据结构、关系 *** 作集合、关系完整性约束三部分组成。
全关系系统十二准则
全关系系统应该完全支持关系模型的所有特征。关系模型的奠基人EFCodd具体地给出了全关系系统应遵循的基本准则。
;''准则0'':一个关系形的关系数据库系统必须能完全通过它的关系能力来管理数据库。
;''准则1''信息准则:关系数据库系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示。
;''准则2''保证访问准则:依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项。
;''准则3''空值的系统化处理:全关系的关系数据库系统支持空值的概念,并用系统化的方法处理空值。
;''准则4''基于关系模型的动态的联机数据字典:数据库的描述在逻辑级上和普通数据采用同样的表述方式。
;''准则5''统一的数据子语言:
一个关系数据库系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则。
;''准则6''视图更新准则:所有理论上可更新的视图也应该允许由系统更新。
;''准则7''高级的插入、修改和删除 *** 作:系统应该对各种 *** 作进行查询优化。
;''准则8''数据的物理独立性:无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性。
;''准则9''数据逻辑独立性:当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。
;''准则10''数据完整的独立性:关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的。
;''准则11''分布独立性:关系数据库系统在引入分布数据或数据重新分布时保持逻辑不变。
;''准则12''无破坏准则:如果一个关系数据库系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。
■实时数据库是数据库系统发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。实时数据库技术是实时系统和数据库技术相结合的产物,研究人员希望利用数据库技术来解决实时系统中的数据管理问题,同时利用实时技术为实时数据库提供时间驱动调度和资源分配算法。然而,实时数据库并非是两者在概念、结构和方法上的简单集成。需要针对不同的应用需求和应用特点,对实时数据模型、实时事务调度与资源分配策略、实时数据查询语言、实时数据通信等大量问题作深入的理论研究。实时数据库系统的主要研究内容包括:
实时数据库模型
实时事务调度:包括并发控制、冲突解决、死锁等内容
容错性与错误恢复
访问准入控制
内存组织与管理
I/O与磁盘调度
主内存数据库系统
不精确计算问题
放松的可串行化问题
实时SQL
实时事务的可预测性
研究现状与发展实时数据库系统最早出现在1988年3月的ACMSIGMODRecord的一期专刊中。随后,一个成熟的研究群体逐渐出现,这标志着实时领域与数据库领域的融合,标志着实时数据库这个新兴研究领域的确立。此后,出现了大批有关实时数据库方面的论文和原型系统。人机交互技术与智能信息处理实验室实时数据库小组一直致力于实时系统、实时智能、实时数据库系统及相关技术的研究与开发,并取得了一定的成绩。
以上就是关于数据库中的column全部的内容,包括:数据库中的column、Java 中获得Access 数据库中的表名和表中的列名 及每个列的数据类型、sql数据类型有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)