伍.0 DQL条件查询

    5.1. where子句后跟条件
    5.2. 运算符
        * > 、< 、<= 、>= 、= 、<>
        * BETWEEN...AND  
        * IN( 集合) 
        * LIKE:模糊查询
            * 占位符:
                * _:单个任意字符
                * %:多个任意字符
        * IS NULL  
        * and  或 &&
        * or  或 || 
        * not  或 !

DML语句的中坚选拔

  • 安排数据

INSERT INTO 't_student' (name, age, height) VALUES ('why', 18, 1.88);
  • 讲话表明
    • INSE哈弗T INTO: 插入数据
    • ‘t_student’: 在哪2个表中插入数据
    • (数据的字段): 给什么字段插入数据
    • VALUES (‘why’, 1八, 壹.8八): 插入的具体值
  • 履新数据

UPDATE 't_student' SET 字段 = '值' WHERE 条件判断;
  • 言语表达
    • UPDATE: 跟新数据
    • ‘t_student’: 在哪二个表中更新数据
    • SET 字段 = ‘值’: 更新如何的数目
    • WHERE 条件判断: 更新哪些数据
  • 实际应用

UPDATE t_student SET name = 'me' WHERE age = 14;
UPDATE t_student SET name = 'liu' WHERE age is 20;
UPDATE t_student SET name = 'yy' WHERE age < 20;
UPDATE t_student SET name = 'A' WHERE age < 100 and score > 60;
UPDATE t_student SET name = 'ly';
  • 去除数据

DELETE FROM t_student;
DELETE FROM t_student WHERE age < 30;
  • 语法表达
    • DELETE FROM: 从表中删除数据
    • t_student : 表名
    • 可以跟条件也能够不跟:不跟代表删除全部的多寡

壹 操作数据库:CRUD

1.1 C(Create):创建
        * 创建数据库:
            * create database 数据库名称;
        * 创建数据库,判断不存在,再创建:
            * create database if not exists 数据库名称;
        * 创建数据库,并指定字符集
            * create database 数据库名称 character set 字符集名;

        * 练习: 创建db4数据库,判断是否存在,并制定字符集为gbk
            * create database if not exists db4 character set gbk;
1.2. R(Retrieve):查询
        * 查询所有数据库的名称:
            * show databases;
        * 查询某个数据库的字符集:查询某个数据库的创建语句
            * show create database 数据库名称;
1.3 U(Update):修改
        * 修改数据库的字符集
            * alter database 数据库名称 character set 字符集名称;
1.4. D(Delete):删除
        * 删除数据库
            * drop database 数据库名称;
        * 判断数据库存在,存在再删除
            * drop database if exists 数据库名称;
1.5. 使用数据库
        * 查询当前正在使用的数据库名称
            * select database();
        * 使用数据库
            * use 数据库名称;

SQL语句的项目

  • 多少定义语句(DDL:Data Definition Language)

    • 包括create和drop等操作;
    • 在数据库中开立异表或删除表(create table或 drop table);
  • 数据操作语句(DML:Data Manipulation Language)

    • 包括insert、update、delete等操作
  • 数码查询语句(DQL:Data Query Language)

    • 可以用来查询获得表中的数量
    • 主要字select是DQL(也是具有SQL)用得最多的操作
    • 任何DQL常用的要紧字有where,order by,group by和having

首先大家复习第2天的重要内容:

DDL语句的主导采纳

  • 删除表

DROP TABLE IF EXISTS '表名';
  • 创建表

CREATE TABLE IF NOT EXISTS '表名' 
( '字段名' 类型(INTEGER, REAL, TEXT, BLOB) 
NOT NULL 不允许为空 PRIMARY KEY 主键 AUTOINCREMENT 自增长, 
'字段名2' 类型, ... )
  • 现实应用:

CREATE TABLE IF NOT EXISTS 't_student' 
( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
"name" TEXT, "age" INTEGER, "height" REAL
)

 - 语句说明
- CREATE TABLE:创建一张表
- IF NOT EXISTS:不存在则创建
- 't_student':表的名称
- NOT NULL:不允许为空
- PRIMARY KEY:主键
- AUTOINCREMENT:自动增加
- 'id' INTEGER:有一个ID字段,类型是INTEGER

sql分类

DQL语句的中坚使用

  • 查询语句
    • 宗旨查询(查询全数表格)

SELECT * FROM t_student;
  • 查询某个字段(查询name和age多个字段)

SELECT name, age FROM t_student;
  • 由此规范判断来询问相应的数码(年龄超越等于18)

SELECT * FROM t_student WHERE age >= 18;
  • 透过规范判断来询问相应的数据(名字以i开始),使用like关键字(模糊查询)

SELECT * FROM t_student WHERE name like '%i%';
  • 测算个数
    • 算算1共多少列

SELECT count(*) FROM t_student;

- 计算某一个列个数

SELECT count(age) FROM t_student;
  • 排序
    • 升序 ASC (私下认可是升序)

SELECT * FROM t_student ORDER BY age;

- 降序 DESC

SELECT * FROM t_student ORDER BY age DESC;

- 按照年龄升序排序,如果年龄相同,按照名字的降序排列

SELECT * FROM t_student ORDER BY age,name DESC;
  • 起别名
    • 给列起小名(as能够简单)

SELECT name AS myName, age AS myAge FROM t_student;

- 给表起别名

SELECT s.name, s.age FROM t_student as s;
  • limit

SELECT * FROM t_student LIMIT 数字1,数字2;

- 跳过前9条数据,再查询3条数据

SELECT * FROM t_student LIMIT 9, 3;

- 跳过0条数据,取5条数据

SELECT * FROM t_student LIMIT 5; 

3 操作数据

3.1 DML添加数据
        * 语法:
        * insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
        * 注意:
        1. 列名和值要一一对应。
        2. 如果表名后,不定义列名,则默认给所有列添加值
            insert into 表名 values(值1,值2,...值n);
        3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
3.2DML删除数据
        * 语法:
        * delete from 表名 [where 条件]
        * 注意:
        1. 如果不加条件,则删除表中所有记录。
        2. 如果要删除所有记录
            1. delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
            2. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
3.3DML修改数据

    * 语法:
        * update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];

    * 注意:
        1. 如果不加任何条件,则会将表中所有记录全部修改。
网站地图xml地图