首页 > 技术文章 > 数据库SQL语句

danile97 2021-09-03 15:05 原文

在MYSQL中操作数据库,练习SQL语句:

<1>对数据库的操作:

——查看所有数据库

show databases;  (一定要注意bases末尾的s不要漏掉,并且写完要加;)

 

——新建数据库

create database 数据库名称; ——采用默认编码创建数据库

create database 数据库名称 character set 编码形式; ——采用指定编码形式(例如 utf8 等)创建数据库

 

——查看数据库的编码

show create database 数据库名称;

 

——修改数据库的编码

alter database 数据库名称 character set 编码形式;

 

——删除数据库

drop database 数据库名称;

 

——切换数据库

use 数据库名称;

 

——查看当前使用的数据库

select database();

 

——数据库备份

mysqldump -h服务器地址 -u用户名 -p密码 数据库名称 > 数据备份的路径

 

——数据库导入(数据恢复)

mysql -u用户名 -p密码 待导入数据的新数据库名称 < 导入的数据的存放路径

 

<2>对数据表的操作:

——数据表中字段的数据类型分为以下几类:

int , varchar(长度) , double , bit , datatime

 

——创建数据表

create table 数据表名称(字段1 数据类型,字段2 数据类型,字段3 数据类型...);

 

——查看当前数据库中的所有数据表

show tables;

 

——查看数据表编码

show create table 数据表名称;

 

——修改数据表编码

alter table 数据表名称 character set 编码形式;

 

——查看数据表结构

desc 数据表名称;

 

——修改数据表名称

rename table 旧的数据表名称 to 新的数据表名称;

 

——删除表

drop table 表名;

 

——修改数据表的结构

1.添加一列,即添加一个字段

alter table 数据表名称 add 字段名称 字段类型;

 

2.修改长度/类型/约束

alter table 数据表名称 modify 字段名称 新的类型(新的长度);

 

3.修改列名,即修改字段名称

alter table 数据表名称 change 旧字段名 新字段名 类型(长度);

 

4.删除列,即删除字段

alter table 数据表名称 drop 字段名称

 

<3>单表约束

1.主键约束 primary key 就是为了保证某一个列的数据不重复

可以在创建表的时候设置主键,也可以在创建后添加

——添加主键

alter table 表名 add 字段名称 字段类型 primary key;

可以在后面加上 auto_increment 表示自增

 

2.唯一约束 unique 也是为了保证数据不重复,与主键不同的是它可以控制多个字段不重复

 

3.非空约束 not null 被约束的字段不能为空

 

4.删除各种约束

——删除主键约束:在删除主键约束时,如果主键约束有自动增长属性,那么要先把自动增长属性给删掉,再删除主键才能成功

先 alter table 表名 modify 主键字段名 字段类型;

然后 alter table 表名 drop primary key;

 

——删除唯一约束:

alter table 表名 drop index 字段名称

 

——删除非空约束:

直接修改该字段就可以了,把非空约束去掉

 

<4>对数据进行操作(对字段操作)

1.增

——插入完整的一个数据

insert into 表名(字段名称1 ,字段名称2,字段名称3...) values(值1,值2,值3...);

(如果是添加完整的全部字段的数据,那么可以在这条语句中省略掉字段名称)

即 insert into 表名 values(值1,值2,值3...);

 

——插入部分数据

insert into 表名(字段名1,字段名2) values(值1,值2);

 

2.删

delete from 表名 条件(where);

 

3.改

update 表名 set 字段名 = 值 条件(where);

(例如:

update person set age = 3 where name = "danile";

update person set age = 5 where salary is null;

)这里要注意判断的时候如果判断是否为空,要用“ is null ”而不是“ =null ”

 

4.查

——查询所有表中数据

select * from 表名;

 

——精准查询(条件查询)

条件查询中的条件有(=,>,<,>=,<=,is null,is not null,and,or,like)

条件查询有四种方式:

(1)select * from 表名(where条件);

 

(2)select 列名1,列名2,列名3 from 表名 (where条件);

将符合条件的元素的列名1,列名2,列名3的内容输出,而不会把符合条件的元素的所有字段的内容输出

 

(3)select 列名1,列名2,列名3 order by 列名4 asc/desc;

将符合条件的元素的列名1,列名2,列名3的内容输出,元素的排列顺序升序或者降序

asc表示升序 desc表示降序

 

(4)select 列名1 as 别名1,列名2 as 别名2,列名3 as 别名3...from 表名 (where条件);

可以自定义输出结果的列名,将原有的表中的列名显示的时候改成了自定义的别名

 

——模糊查询

select * from 表名 where 字段名 like 关键字%;

其中%是通配符

 

<5>数据常用函数

——count() 统计个数

 

——sum() 求和

 

——avg()求平均值

 

——max,min 求最大最小值

 

——分组

select * from 表名 group by 字段名;

分组其实就是以某个字段为组,把相同的值的元素都折叠起来

 

 

 

在Android实际开发中,主要掌握对数据的操作即可

 

推荐阅读