MySQL数据的CRUD(增删改查)

    科技2022-07-13  115

    增加(insert): insert into t_name[(字段1 …)] values(v1 …); 如: insert into t_hero(id, username, gender, age, tel) values(null, “张三”, “男”, 16, default); insert into t_hero values(null, “张三”, 16, “男”, default); insert into t_hero(username, gender, age) values(“李四”, “思思”, 40);

    更新(update): 将表中原有数据修改为我们需要的数据 update t_name set 字段1 = 新值, 字段2 = 新值 … where 条件

    update t_hero set age = 18, gender = "女" where id = 3;

    删除(delete): delete from tablename where 条件 delete from t_hero where id =1;

    truncate 语句(慎用) 该语句也是用来删除表,是无法恢复的

    select select * from 表名;

    select id, username, age, gender, tel from t_hero; select username from t_hero;

    表的修改: 表结构的修改:alter table 1、增加新的字段 ALTER TABLE 表名 ADD 列名 列类型 约束条件; alter table t_hero add address varchar(255); 2、修改字段的类型 ALTER TABLE 表名 MODIFY 列名 列类型; alter table t_hero modify id bigint; 3、 修改字段名称 ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型; alter table t_hero change id hero_id int; 4、修改表名称 ALTER TABLE 表名 RENAME 新表名; alter table t_hero rename hero; 第二种写法 rename table hero to t_hero; 查询: 查询语句的使用,返回结果本身就是一张虚拟表 SELECT * FROM t_hero;

    查询指定的列【字段】,是指定你要查询的字段名称 SELECT hero_id, username, age, gender FROM t_hero; count这个聚合函数完成表中数量的统计 SELECT COUNT(*) from t_hero; 1、在查询时,如果需要修改结果的列名称,可以使用别名(alias)完成修改 SELECT COUNT(*) AS "总人数" from t_hero; //需要多个字段别名, as alias,在SQL中,as关键字是可以省略的!! SELECT hero_id as id, username uname, age, gender 性别 FROM t_hero; 2、 查询id为3的用户 SELECT * FROM t_hero WHERE hero_id = 3; 3、查询成年人 SELECT username FROM t_hero WHERE age >= 16; 4、查询性别不为男的 SELECT * FROM t_hero WHERE gender = "女"; 5、不等于 SELECT * FROM t_hero WHERE gender != '男'; SELECT * FROM t_hero WHERE gender <> '男'; 6、查询地址为空的,或者地址不能为空 // 注意:查询空和非空,不能使用 = 或者 !=去查询,需要使用is或者 NOT is SELECT * FROM t_hero WHERE gender IS NULL; SELECT * FROM t_hero WHERE gender IS NOT NULL; 多个条件同时存在时需要使用逻辑运算符 and OR 7、查询年龄大于100岁的男生 SELECT * from t_hero WHERE age >= 100 AND gender = "男"; 8、查询年龄大于100 或者 id 大于2的 SELECT * FROM t_hero WHERE hero_id > 2 or age >= 100; 为每个人年龄增加10岁 update t_hero set age = age + 10; 9、算术运算符的一些细节问题 SELECT 80 + 90; 10、只要其中一个为数值,则试图将字符型转换成数值 SELECT '80' + 100; 11、转换不成功,则字符型数值为0 SELECT 'liujianhong' + 20; 12、null加任何值都为null SELECT NULL + 30; 13、<=> 这个符合的使用 (1)、可以当成普通的等号使用 SELECT * FROM t_hero WHERE hero_id = 1; SELECT * FROM t_hero WHERE hero_id <=> 1; (2)、判断null,is is NOT,而<=>也可以判断等于空 SELECT * FROM t_hero WHERE gender is NULL; SELECT * FROM t_hero WHERE gender <=> NULL; 统计当前表总共有多少种性别 //可以使用distinct关键字进行去重 SELECT DISTINCT gender FROM t_hero; // 查询年龄大于100岁的男生 SELECT * from t_hero WHERE age >= 50 AND age < 500; BETWEEN ... AND 语句用来确定区间范围 SELECT * FROM t_hero WHERE age BETWEEN 50 AND 500; /** 查询id为1 2 3 4 6 8 10 12 **/ SELECT * FROM t_hero where hero_id in(1,2,3,4, 6, 8, 10,12); -- 模糊查询,一般用来匹配一些文本内容 // 在模糊查询中,使用like进行模糊查询,不要使用 = // % 表示任意匹配的意思 _ 表示一个位 // 以张字开头的 SELECT * FROM t_hero WHERE username LIKE '张%'; // 包含张字的 SELECT * FROM t_hero WHERE username LIKE '%张%'; // 以张字结尾 SELECT * FROM t_hero WHERE username LIKE '%张'; // 第二个字是李的用户, SELECT * FROM t_hero WHERE username LIKE '_李%';
    Processed: 0.020, SQL: 8