在说Android数据库使用之前,先说一下基本的数据库用法,这里我以MySql为例
一.安装
MySql的安装就跳过了
二.配置
MySql的配置文件,如果是默认目录的话就是在下边这个路径
C:\Program Files\MySQL\MySQL Server 5.7\my-default.ini
配置内容有很多种,编码需要先配置一下,其他的端口啊等的配置就不说了
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
三.登陆
配置好后就可以登陆了,在C:\Program Files\MySQL\MySQL Server 5.7\bin目录下打开命令行
命令行输入mysql -u 用户名(默认root)-p 回车
输入密码:***
四.数据类型
三种主要的数据类型
1,文本类
常用:文本会变用VARCHAR(size),文本长用TEXT,文本非常长用LONGTEXT
2,数字类
常用:TINYINT(size)有布尔型数据使用。
INT(size)数字小的时候
BIGINT(size)一般id用
DOUBLE(size,d)因为double比float大一些
3. 日期类
最常用DATETIME()类型
五.使用
数据库的使用,主要就是对库,表,数据的增删改查各种操作,下边就一个一个说
库的操作
查
通过命令行输入,show databases;就可以显示现在所有存在的数据库
增
create 【databases】 库名;
删
drop 【database】 库名;
改
库的更改也就只有名字,语法是rename database oldDbname TO newDbname。
这个是5.1.7到5.1.23版本可以用的,但是官方不推荐,会有丢失数据的危险
应用哪个数据库,就用use Dbname;打开哪个数据库。
Dbname是一个数据库,每个数据库独立,db内部有很多table表。
表的操作
增
create table 【tablename】(
colum_name data_type;
colum_name data_type;
colum_name data_type;
colum_name data_type;
);
colum_name 你需要的参数名,data_type你需要的参数类型;
这个增加一个新的表
在已有表后,怎样增加数据类型那?
增加一列数据
alter table 【table_name】add【column_name】【data_type】[not null][default]
[]中括号里面是可选的
删
drop table table_name;
删除列
alter table 【table_name】drop【column_name】
改
修改表名
alter table【table_name】rename【new_table_name】
修改列名
alter table 【table_name】change 【old_column_name】【new_column_name】【data_type】
1. 只改列名
data_type和原来一样,old_column_name!=new_column_name
2. 只改数据类型
old_column_name== new_column_name,data_type改变
3. 列名和数据类型都改了
查
查看表结构
describe 【table_name】
数据的操作
增
需要输入所有列的信息插入
insert into 【table_name】values(值1,值2,....)
指定列插入
insert into 【table_name】 (列1,列2....)values(值1,值2,....)
注意单引号
删
改
查
查有多重方法,不同的条件查
where语法
select *from 【table_name】where 【col_name】运算符 值
条件筛选
Sql中等于判断只要用一个等号
组合条件 and 、 or
where后面可以通过and与or运算符组合多个条件筛选
select *from table_name where col1 = xx and col2 = xx or col3>xx
NUll的判断
查看某列是null的所有数据
判断某列是否为null时,不能用=好,只能有is或者is null
select *from 【tablename】where【colname】is null
select *from 【tablename】where【colname】is not null
distinct 精确的
select distinct0【col_name】from 【table_name】;
去除重复部分的查询
排序查看
order by
1. 按单一列名排序:
select *from 【table_name】【where子句】order by【colname】[asc/desc]
2. 按多列排序
selec *from 【tablename】 【where子句】order by【col1name】[asc/desc],【col2name】[asc/de]...
asc为升序,desc为降序,默认是asc
limit
select *from【tablename】【where子句】【order by子句】limit[offset],roeCount
offset:查询结果的起始位置,第一条位置是0
rowCount:从offset位置开始,获取的记录条数
如下图,limit 1,2是从第二个位置开始的两个数据,如果1不写的话 就是limit rowCount = limi 0,rowCount
一般limit用来做分页的处理
insert into 与 select组合使用
一般用法:
insert into 【表名】 values(值1,值2)
insert into 【表名】(列1,列2...)values(值1,值2,...)
把表2中的数据插入到表1中的方法
Insert into 与select的组和用法
insert into 【表名】 select列1,列2 from【表名2】
insert into 【表名】(列1,列2...)selec列3,列4 from【表名2】
update语法
修改单列
update 表名 set列名 = xxx【where子句】
修改多列
update 表名 set列名1=xxx,列名2=xxx...【where子句】
修改指定的数据
如果不加where子句,会修改所有的,如图