探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

SQL简述

Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性

SQL的优点

  • 简单易学,具有很强的操作性
  • 绝大多数重要的数据库管理系统均支持SQL
  • 高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成

SQL的分类

  • DDL(Data Definition Language)
    数据定义语言,用来操作数据库、表、列等;
    常用语句:CREATE、 ALTER、DROP
  • DML(Data Manipulation Language)
    数据操作语言,用来操作数据库中表里的数据;
    常用语句:INSERT、 UPDATE、 DELETE
  • DCL(Data Control Language)
    数据控制语言,用来操作访问权限和安全级别;
    常用语句:GRANT、DENY
  • DQL(Data Query Language)
    数据查询语言,用来查询数据
    常用语句:SELECT

在此,请注意区分DDL和DML:
它们两者的作用对象和级别不一样。DDL操作的对象是数据库,或者一张表,或者表中的某列;DML操作的是表里的数据。

在了解完这些基础知识之后,我们来依次详细学习DDL、DML、DCL、DQL


DDL

创建数据库

create database db1;

创建名字为db1的数据库

show create database db1;

查看刚才创建的数据库db1,结果如下:

| Database | Create Database
| db1          | CREATE DATABASE db1 /*!40100 DEFAULT CHARACTER SET utf8 /*

从这里可以看出,刚才创建的数据库采用的是utf8作为字符集。

当然,我们还可以在创建数据库时为其指定字符集

create database db2 character set gbk;

查询数据库

show databases;

查询出所有的数据库

删除数据库

drop database db2;

其实,从这也可以看出来创建数据库和删除数据库是非常类似的,只不过它们的关键是不同;前者使用的是create后者是drop

修改数据库

alter database db1 character set gbk;

将数据库db1的字符集修改为gbk

切换数据库

use db1;

表示现在开始使用数据库db1

查看当前使用的数据库

select database();

请注意该语句最后有个括号()

创建表

语法如下:

create table 表名(
          字段1 字段类型,
          字段2 字段类型,
          …
          字段n 字段类型
);

示例,创建一张员工表:

在此创建一张员工表,包含了员工的基本信息。

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

show tables;

查看刚才创建的表

show create table employee;

查看表的字段信息

describe employee;

也可以简写为:

desc employee;

修改表的字符集

alter table employee character set gbk;

为表增加列

alter table employee add column photo blob;

为表添加了数据类型为blob的列photo

也可以简写为:

alter table employee add photo blob;

修改列的长度

alter table employee modify job varchar(170);

将表中job字段的长度修改为170

修改列的名称

alter table employee change name username varchar(100);

将表中原name改名为username

删除列

alter table employee drop photo;

删除表中的photo列

修改表的名字

rename table employee to user;

删除表

drop table user;


DML

DML用于对表中的数据进行增、删、改的操作。常用的语句有INSERT 、UPDATE、 DELETE

嗯哼,我们先创建一张表

create table employee(
           id int,
           username varchar(100),
           gender varchar(10),
           birthday date,
           salary float(10,2),
           entry_date date,
           resume text
);

插入操作:INSERT

INSERT的语法:

INSERT INTO 表名(列名1,列名2 …)VALUES(列值1,列值2…);

请注意:

  • 列名与列值的类型、个数、顺序要一一对应
  • 列值不要超出列定义的长度
  • 如果插入空值,请使用null
  • 插入的日期和字符需用引号括起来,例如:‘sun’、‘2016-09-04’

INSERT的示例:

INSERT INTO employee
(id,username,gender,birthday,salary,entry_date,RESUME)
VALUES (1,‘大泽玛利亚’,‘female’,‘1990-09-12’,20000.00,‘2010-11-22’,‘beauty’);

INSERT INTO employee
(id,username,gender,birthday,salary,entry_date,RESUME)
VALUES (2,‘武藤兰姐姐’,‘female’,‘1980-09-12’,30000.00,‘2000-12-12’,‘good’);

INSERT INTO employee
(id,username,gender,birthday,salary,entry_date,RESUME) VALUES
(3,‘井空苍妹妹’,‘female’,‘1987-07-28’,50000.00,‘2001-08-09’,‘great’);

当然,也可以批量插入数据:

INSERT INTO employee VALUES
(4,‘杉原杏璃’,‘female’,‘1992-04-01’,60000.00,‘2014-09-03’,‘very good’),
(5,‘佐佐木希’,‘female’,‘1993-05-09’,70000.00,‘2013-04-04’,‘very nice’),
(6,‘伊藤梅子’,‘female’,‘1995-11-07’,80000.00,‘2012-03-05’,‘very sexy’);

修改操作:UPDATE

UPDATE的语法:

UPDATE 表名 SET 列名1=列值1 , 列名2=列值2…WHERE 列名=值

UPDATE的示例:

UPDATE employee SET salary=88000;

将表中所有员工的salary修改为88000

UPDATE employee SET salary=99000 WHERE username=‘大泽玛利亚’;

将表中username为大泽玛利亚的员工的salary修改为99000

UPDATE employee SET salary=69000,birthday=‘1993-02-28’ WHERE username=‘井空苍妹妹’;

将表中username为井空苍妹妹的员工的salary修改为69000、birthday修改为1993-02-28

UPDATE employee SET salary=salary+1000 WHERE username=‘佐佐木希’;

将表中username为佐佐木希的员工的salary增加1000

删除操作:DELETE

DELETE的语法:

DELETE FROM 表名 WHERE 列名=值

DELETE的示例:

DELETE FROM employee WHERE username=‘大泽玛利亚’;

将表中username为大泽玛利亚的员工删除

DELETE FROM employee;

使用DELETE将表中所有数据删除,执行该操作后表结构还存在,删除后的数据可以找回

TRUNCATE TABLE employee;

使用TRUNCATE将表中所有数据删除,执行该操作后系统将该表DROP然后再创建一个同样的新表,其执行速度远快于DELETE;但是请注意:该方式删除的数据不能找回。


##DCL
之前我们说过:DCL(数据控制语言)用来定义访问权限和安全级别;在此对其进行简单的介绍

创建用户

创建用户的语法为:

create user 用户名@IP地址 identified by 密码;

请看如下示例:

create user xy@loaclhost identified by ‘123456’;

在此创建一个新用户,用户名为xy密码是123456

请注意,创建新用户后需要执行命令更新权限表(grant tables)

FLUSH PRIVILEGES;

给用户授权

给户授权的语法为:

grant 权限1,权限2,…,权限n on 数据库名.* to 用户名@IP地址 identified by ‘密码’;

如果将操作数据库的所有的权限授予用户,语法为:

grant all on 数据库名.* to 用户名@IP地址 identified by ‘密码’;

请看如下示例:

grant all on db1.* to xy@localhost identified by ‘123456’;

撤销授权

撤销授权的语法为:

revoke 权限1,权限2,…,权限n on 数据库名.* from 用户名@IP地址;

如果撤销用户拥有的某数据库的全部权限,语法为:

revoke all on db1.* from xy@localhost;

查看用户权限

查看用户权限的语法为:

show grants for 用户名@IP地址;

请看如下示例:

show grants for xy@localhost;

删除用户

删除用户权限的语法为:

drop user 用户名@IP地址;

请看如下示例:

drop user xy@localhost;

更多相关文章

  1. android中的数据库操作
  2. android 创建AVD时 无系统镜像 No target selected
  3. Android中Activity启动模式详解
  4. android之单选框
  5. Android(安卓)Application (全局变量)学习使用
  6. 【Android】自定义 Tabhost
  7. Android(安卓)封装的数据库管理操作类
  8. 在android创建bitmap避免低记忆法
  9. android消息机制

随机推荐

  1. android屏幕分辨率 的获取
  2. Android 9.0 修改默认壁纸(主壁纸和wapppa
  3. Android TextView 单行文本的坑
  4. android的BuildConfig学习
  5. Android Contacts(二)—— SMS 短信 与 Con
  6. android 夜间模式
  7. Android and Linux suspend and resume d
  8. Android开发之TextView高级应用
  9. android启动--深入理解zygote
  10. android 关于Dialog 圆角的问题