SQLite中使用的数据类型

时间:2013-12-31 02:13:11

标签: android sqlite android-sqlite

我很困惑在SQLite中声明为以下数据类型的内容: 1.email 2.电话号码 3.password(有些文章我发现他们使用String而不是int来获取电话号码和密码,为什么会这样?)

3 个答案:

答案 0 :(得分:7)

SQLite中基本上有5种类型的数据类型:

1。)NULL 2.)BLOB 3.)INTEGER 4.)真实 5.)TEXT

您可以在以下页面SQLite Datatypes上阅读它们。

至于您的问题

1。)由于Email可以包含字母数字和特殊字符,因此必须将此字段声明为TEXT

2.)对于电话号码,您必须决定如何存储号码。对于例如其中一个人希望将他的电话号码存储为

4567890

虽然其他人想要将相同的号码存储为

456-7890

first casedatatype would be INTEGER second case TEXT password TEXT,{{1}},因为第二种情况包含特殊字符。

3.。对于{{1}},请使用{{1}},因为它可以包含任何字符。一定要加密它。

希望它有所帮助。 :)

答案 1 :(得分:2)

使用字符串背后的原因是,Sqlite非常灵活和动态。

点击此链接:http://www.sqlite.org/datatype3.html

前两段回答了你的所有问题。

答案 2 :(得分:0)

对所有三个使用字符串。

String允许使用完整的字符集,包括小写,大写,数字和特殊字符。您提供的每个示例(电子邮件,电话号码和密码)都将使用完整字符集中的元素。 (电子邮件'@',手机' - '&'()'和密码从选择的字符集越大越有效。)

还可以使用正则表达式解析字符串以验证它们并实现数据库范围的一致性。例如,您可以为“++ 64 4 12345678”的电话号码选择一致的格式,并在将其保存到数据库之前使用RE来实现该状态。同样,您可以使用RE来删除所有额外字符,并将电话号码保存为int。

密码只使用int,字符数为10个字符,完整字符集有(26 + 26 + 10 + 33)= 95个字符。如果你的密码是8个字符长,那就是10 ^ 8或100,000,000个组合(琐碎到蛮力)或95 ^ 8,这更多(更难以暴力)。