平时经常使用到的命令行也放出来
命令行登录本地sql数据库:mysql -uroot -proot1234
显示数据库列表:show databases;
进入数据库:use demo3;
显示表:show tables;
显示表结构:desc wc_user;
workbench使用sql语句需要加上库名:
select * from demo3.test_user2
#修改表结构
alter table wc_user add balance float default 0 not null after nick_name;
注意加了column:alter table wc_user add column balance float default 0 not null
修改表数据类型:alter table wc_moments modify add_time varchar(50) not null;
Boolean类型使用Integer代替,sqlite3不支持boolean类型:ALTER TABLE $TABLE_NAME ADD COLUMN uploaded_attempted INTEGER NOT NULL DEFAULT(0)
------------------------------
访问sqlite3步骤(主要是su获取root权限):
注意:adb devices 查看设备列表,不需要;结尾
连接一个指定的模拟器:adb -s emulator-5556 shell
C:\Users\DELL>adb shell
generic_x86:/data # su
generic_x86:/data # cd /data/data/com.wn.wechatclientdemo/databases/
generic_x86:/data/data/com.wn.wechatclientdemo/databases # sqlite3 wc_database.db
SQLite version 3.18.2 2017-07-21 07:56:09
Enter ".help" for usage hints.
sqlite> .table
android_metadata room_master_table wc_user
sqlite> select * from wc_user;
查看表结构:select * from sqlite_master where name = "wc_chat";
Flutter高仿微信-表结构(Kotlin高仿微信公用的表结构)
/**
* 用户信息, id自动增长, account是账户唯一
*/
create table wc_user(
id int auto_increment,
account varchar(100) not null,#聊天账户,唯一
name varchar(50) not null,#姓名
nick_name varchar(50) not null,#昵称
balance double not null default 0,#额度
address varchar(100) null,#地址
email varchar(30) null,#邮箱
phone varchar(20) null,#电话
avatar varchar(200) null,#头像
birthday varchar(20) null,#生日
note varchar(200) null, #备注
add_time varchar(50) not null,#添加时间
primary key(id),
unique(account)
)
/**
* 单聊
*/
create table wc_chat(
id int auto_increment,
from_account varchar(20) not null, #发送者账户
to_account varchar(20) not null, #接收者账户
content varchar(200), #聊天文本信息
user_type Int, #显示用户类型, 1我、2朋友
content_type int, #发送聊天信息类型:1文本、2、图片
img_path varchar(200), #图片服务器地址
img_path_local varchar(200), #图片本地地址
video varchar(200) null, #小视频服务器地址
video_local varchar(200) null, #小视频下载到本地路径
voice varchar(200) null, #语音服务器地址
voice_local varchar(200) null, #语音下载到本地路径
second int null,#语音、视频多少秒
latitude double, #定位-纬度
longitude double, #定位-经度
message_id varchar(200), #消息id,UUID保证唯一,同步到服务器使用
add_time varchar(50),#添加时间
primary key(id),
unique(message_id)
)
//联系人
create table wc_contacts(
id int auto_increment,
from_account varchar(20) not null,#本人账户
to_account varchar(20) not null,#朋友账户
type int not null,#1请求、2接收
add_time varchar(50),#添加好友时间
primary key(id),
unique(from_account,to_account)
)
/**
* 群聊名称
*/
create table wc_group(
id int auto_increment,
group_id varchar(50) not null,#群id
group_name varchar(50) not null,#群名
avatar varchar(200) null,#群头像,多张图片合成
add_time varchar(50) not null,#添加时间
primary key(id),
unique(group_id)
)
/**
* 群聊用户
*/
create table wc_group_user(
id int auto_increment,
account varchar(100) not null,#聊天账号,唯一
group_id varchar(50) not null,#群id
account_type int not null,#1群主、2管理、3成员
add_time varchar(50) not null,#添加时间
primary key(id),
unique(account,group_id)
)
/**
* 群聊聊天信息
*/
create table wc_group_chat(
id int auto_increment,
account varchar(20) not null, #发送者账号
group_id varchar(50) not null, #来自哪个群
content varchar(200), #聊天文本信息
content_type int, #发送聊天信息类型:1文本、2、图片
local_media_url varchar(200), #本地多媒体地址
server_media_url varchar(200), #服务器多媒体地址
second int null,#语音、视频多少秒
message_id varchar(200) not null, #消息id,UUID保证唯一,同步到服务器使用
add_time varchar(50) not null,#添加时间
primary key(id),
unique(message_id)
)
/**
* 朋友圈发布
*/
create table wc_moments(
id int auto_increment,
account varchar(100) not null,#聊天账户,唯一
type Int, #1文字、2图片、3、小视频
content varchar(500) null,#文案
images varchar(500) null, #多张图片用###隔开
video varchar(200) null, #小视频服务器地址
video_local varchar(200) null, #小视频下载到本地路径
message_id varchar(200) not null, #消息id,UUID保证唯一,同步到服务器使用
add_month varchar(10) not null,#保存文件月份-服务器图片、视频数据只保留一个月
add_time varchar(50) not null,#添加时间
primary key(id)
)
/**
* vip信息
*/
create table wc_vip(
id int auto_increment,
user_account varchar(100) not null,#用户账号
operator_account varchar(100) not null,#操作员
add_time varchar(50) not null,#第一次开通vip时间
renewal_time varchar(20) not null,#续费vip时间
primary key(id),
unique(user_account)
)
/**
* 开通vip详细信息
*/
create table wc_vip_details(
id int auto_increment,
user_account varchar(100) not null,#用户账号
operator_account varchar(100) not null,#操作员
add_time varchar(50) not null,#开通vip时间
renewal_start_time varchar(20) not null,#续费开始时间
renewal_end_time_time varchar(20) not null,#续费结束时间
month int not null,#开通vip多少个月
primary key(id)
)
/**
* 基本系统配置信息
*/
create table wc_base_system(
id int auto_increment,
app_name varchar(50) not null,#项目名称
varsion_name varchar(50) not null,#版本名
version_code int not null,#版本号:客户端根据版本号提示升级app
package_name varchar(100) not null,#包名
sync int not null, #同步:1同步信息,2不需要
apk_url varchar(200) null,#apk下载地址
add_time varchar(50) not null,#添加时间
primary key(id)
)
/**
* 设备信息
*/
create table wc_device_info(
id int auto_increment,
account varchar(100) not null,#聊天账户,唯一
type int not null,#设备类型, 1安卓、2苹果
imei varchar(100) not null,#imei
model varchar(100) null,#手机型号
width int null,#宽度
height int null,#宽度
language varchar(100) null,#语言
country varchar(100) null,#国家
version_code int null,#版本号
version_name varchar(20) null,#版本名
manufacturer varchar(100) null,#厂商名
product varchar(100) null,#产品名
brand varchar(100) null,#手机品牌
deviceId varchar(100) null,#设备id
deviceSdk int null,#获取手机Android
add_time varchar(50) not null,#添加时间
primary key(id)
)