mysql基础用法
1、数据库操作、表操作
# 显示所有数据库 show databases # 创建数据库:create database 数据库名 CREATE database study_mysql # 使用数据库 use study_mysql # 创建表:create table 表名() comment 注释 CREATE TABLE create_table_test( # 字段名 字段类型 comment 注释, name char comment '名称', age int comment '年龄' ) comment '创建表测试'; # 查看表结构:desc 表名 desc create_table_test desc person # 修改数据类型: alter table 表名 modify 字段名 字段类型(长度) alter table create_table_test modify age char(3) # 修改字段名和数据类型:alter table 表名 change 旧字段名 新字段名 新字段类型(长度) ALTER table create_table_test change name names varchar(60) # 修改表名:alter table 旧表名 rename to 新表名 alter table create_table_test rename to person # 删除表: drop table [if exists] 表名 DROP table create_table_test # 删除表,若表不存在则会报错 drop table if exists create_table_test # 加上 if exists 后,即使表不存在也不会报错 # 删除指定表,并重新创建该表 - 可以用于删除表中所有数据 truncate table person
2、数据增删改
# 插入 # 插入数据:insert into 表名 (字段名1, 字段名2) values (字段值1, 字段值2) # 指定字段插入,表名后有几个字段,values 后面就有几个对应的值 INSERT INTO person (names, age) values ('ming', 28) # 插入数据:insert into 表名 values (字段值1, 字段值2) # 注意:由于没有指定插入 字段,表示插入所有字段,即,表中每一个字段都对应一个值 INSERT INTO person values ('tt', 28) # 批量插入: insert into 表名 values (第一条数据), (第二条), (第三条)... INSERT INTO person values ('t1', 18), ('t2', 28), ('t3', 38) # 修改 # 修改表数据:update 表名 set 字段名=字段值,字段名=字段值 # 注意:若不加where条件,则是全表修改 update person set names = 't6', age = 68 where names = 't1' # 删除 # 删除表数据:delete from 表名 where 条件 # 注意:若不加where条件,则是全表删除 DELETE FROM person WHERE age = 68
3、数据查询
# 查询表中所有数据 select * from member_info mi; # 查询指定字段,并指定别名(as, as可省略) SELECT level as '等级' from member_info mi; SELECT level '等级' from member_info mi; # 查询 level 字段,并去重(distinct) SELECT DISTINCT level from member_info mi ; # where 条件查询 # 字段名 in(值1, 值2, 值3) 表示字段值等于 值1、值2、值3的数据 # 聚合函数 - count、avg、sum、max、min # 查询 表数据条数 - count() select count(*) from member_info mi ; # 查询 指定字段平均值 avg() select avg(level) from member_info mi ; # 查询 指定字段的和 sum() select sum(level) from member_info mi ; # 查询指定字段的最大值 max() select max(level) from member_info mi ; # 查询指定字段的最小值 min() select min(LEVEL) from member_info mi ; # 分组: group by 字段名 select level '等级', count(*) '数量' from member_info mi group by level;
# having 分组后的条件查询
select level '等级', count(*) '数量' from member_info mi group by level having count(*) > 1; # 排序:order by 字段名1 排序方式1, 字段名2 排序方式2 # 排序方式:ASC 升序(默认值)、DESC 降序 select userName, level, points from member_info mi order by level desc, points asc; # 分页:limit 当前页, 每页条数 # 注意:limit为mysql数据库私有,每个数据库的 分页 方法不一样 select * from member_info mi limit 0, 10;