|
| 1 | +# SQLiteHelper |
| 2 | +This Parser comes in handy when you want to write a sql statement easily and smarter. |
| 3 | + |
| 4 | +#Porpouse |
| 5 | + |
| 6 | +Make things easy when you need to write a sql statment for Android SQLite. |
| 7 | + |
| 8 | +# Usage |
| 9 | + |
| 10 | +Copy the [sql](\sql) folder to your Android project. |
| 11 | + |
| 12 | +# Implementation |
| 13 | + |
| 14 | +### Select |
| 15 | + |
| 16 | +##### Working with columns. |
| 17 | + |
| 18 | + SqlParser.query() |
| 19 | + .col("A") |
| 20 | + .col("B") |
| 21 | + .col("C", "NICK") |
| 22 | + .col("ALIAS","D", "NICK") |
| 23 | + .cols("E", "F", "G") |
| 24 | + .sum("H").count() |
| 25 | + .max("I") |
| 26 | + .table("YOUR_TABLE", "T") |
| 27 | + .build(); |
| 28 | + |
| 29 | + > Output: SELECT A, B, C AS NICK, ALIAS.D AS NICK, E, F, G, SUM(H), COUNT(*), MAX(I) FROM YOUR_TABLE T |
| 30 | +
|
| 31 | + |
| 32 | +##### More than one table. |
| 33 | + |
| 34 | + SqlParser.query() |
| 35 | + .col("P", "NAME", "PRODUCT_NAME") |
| 36 | + .col("C", "NAME", "COLOR_NAME") |
| 37 | + .table("PRODUCT", "P") |
| 38 | + .table("COLOR", "C") |
| 39 | + .equal("P", "IDCOLOR", "C","ID") |
| 40 | + .build(); |
| 41 | + |
| 42 | + > Output: SELECT P.NAME AS PRODUCT_NAME, C.NAME AS COLOR_NAME FROM PRODUCT P, COLOR C WHERE P.IDCOLOR = C.ID |
| 43 | +
|
| 44 | + |
| 45 | +##### Exists or not exists. |
| 46 | + |
| 47 | + SqlParser.query() |
| 48 | + .table("TABLE", "T") |
| 49 | + .exists(Sql.query().table("XTABLE", "XT").equal("XT", "FIELD", "T","FIELD").build()) |
| 50 | + .notExists(Sql.query().table("YTABLE", "YT").equal("YT", "FIELD", "T","FIELD").build()) |
| 51 | + .build(); |
| 52 | + |
| 53 | + > Output: SELECT * FROM TABLE T WHERE EXISTS (SELECT * FROM XTABLE XT WHERE XT.FIELD = T.FIELD) NOT EXISTS (SELECT * FROM YTABLE YT WHERE YT.FIELD = T.FIELD) |
| 54 | + |
| 55 | + |
| 56 | +##### Greater, smaller, equal, trim. |
| 57 | + |
| 58 | + SqlParser.query() |
| 59 | + .table("TABLE") |
| 60 | + .greater("THE_COLUMN" , 9) |
| 61 | + .and() |
| 62 | + .smallerEqual("THE_COLUMN", 40) |
| 63 | + .or() |
| 64 | + .equalTrim("TEST", " RAW ") |
| 65 | + .build(); |
| 66 | + |
| 67 | + > Output: SELECT * FROM TABLE WHERE THE_COLUMN > 9 AND THE_COLUMN <= 40 OR TRIM(TEST) = 'RAW' |
| 68 | + |
| 69 | +### Delete. |
| 70 | + |
| 71 | + SqlParser.delete("TABLE").smallerEqual("COL", 0).build(); |
| 72 | + |
| 73 | + > Output: DELETE FROM TABLE WHERE COL <= 0 |
| 74 | + |
| 75 | +### Insert. |
| 76 | + |
| 77 | + SqlParser.insert("TABLE") |
| 78 | + .col("A", 1) |
| 79 | + .col("B", "TEST") |
| 80 | + .build(); |
| 81 | + |
| 82 | +> Output: INSERT INTO TABLE(A,B) VALUES(1,'TEST'); |
| 83 | + |
| 84 | +### Create. |
| 85 | + |
| 86 | + SqlParser.create("TABLE") |
| 87 | + .pk("ID") |
| 88 | + .num("CODE") |
| 89 | + .num("TYPE") |
| 90 | + .flo("PRICE") |
| 91 | + .flo("QUANTITY") |
| 92 | + .build(); |
| 93 | + |
| 94 | + > Output: CREATE TABLE TABLE (ID INTEGER PRIMARY KEY,CODE INTEGER,TYPE INTEGER,PRICE FLOAT,QUANTITY FLOAT); |
| 95 | +
|
| 96 | + |
| 97 | +### Cursor. |
| 98 | + |
| 99 | + Cursor cp = SqlParser.cursor(yourCursor); |
| 100 | + |
| 101 | + if (cp.binded()) |
| 102 | + Product product = new Product(cp.num("ID") |
| 103 | + , cp.num("CODE") |
| 104 | + , cp.flo("STOCK") |
| 105 | + , cp.flo("") |
| 106 | + , cp.str("NAME")); |
| 107 | + |
| 108 | + |
| 109 | +### ContentValues. |
| 110 | + |
| 111 | + SqlParser.content().add("NAME", "John") |
| 112 | + .add("CITY", "New York") |
| 113 | + .add("STATE", "New Jersey"); |
| 114 | + |
0 commit comments