Mysql 命令入门,美好的一天从头上有点凉开始。
Mysql 命令以 ;结束无分号,可回车续行编写,所有命令均在半角西文状态下输入,大小写可混合输入。
一、 数据库基础操作
创建数据库(创建一个存放表的库)
create database ;[数据库名]
使用数据库(选择你想使用的数据库)
Use [数据库名];
创建表(创建表的结构,需要在对应库下面创建)
{Create table [数据表名](<列名称><指定列数据类型>[约束],<列名称><指定列数据类型>[约束]…………);
约束类型(用于规定列的格式)
非空约束
例:create table lym (id int not null); 表示表中id列的值不能为空
唯一约束
例:create table lym(id int unique);表示表中id列的值不能重复
默认值约束
例:Create table lym(id int default 1);表示默认值为1,默认值根据列名称类型定义对应类型
自增约束
例:Create table lym(id int auto_increment) 定义了自增约束,如果不初始化值,则自动从1开始递增
主键约束
例:Create table lym(id int,primary key(id));约束id列为主键;}
案例:创建一个数据库lym,查看目前的数据库数量,在数据库里创建一张表,并查看数据表结构;
1.创建数据库
2.浏览存在的数据库
3.打开数据库lym并创建数据表
**字段类型可根据另外一篇文章:**https://blog.csdn.net/kingoflongevity/article/details/102924223
4.浏览数据表结构
二、 修改数据库与表
修改表结构
- 添加一个字段
Alter table 表名 add 列名称 数据类型(长度) 约束;(和创建表格式相同)
例:alter table ygxx add idnam int; - 修改字段
Alter table 表名 modify 字段名 数据类型(长度) 约束;
例:alter table ygxx modify id int not null; - 删除字段
Alter table 表名drop 字段名;
例:alter table ygxx drop happ; - 修改字段名称
Alter table 表名 change 旧字段 新字段 数据类型(长度) 约束;(需指定类型,否则报错)
提示:约束主键直接在约束跟 primary key;
例:alter table ygxx change id idname int,primary key; - 重命名表名
rename table 表名 to 新表名;
例:rename table ygxx to yggz;
三、 添加删除与更新字段值
1.Insert into 表名(列名,列名……) values(字段值,字段值………);…………指定列添加值方式;
Insert into 表名 values(字段值,字段值…….);………………为全表添加值
提示:列名与字段值需要一一对应,字段值的类型根据定义的类型输入,添加字符型与日期型需加 ’ ’ 如’2019-11-8’。
更新字段值
2.Update 表名 set 字段=字段值 where 条件;无条件则更新所有记录值;
例:Update 表名 set salary=10000 where job=’engineer’;
删除字段值
3.Delet from 表名 where 条件表达式;删除指定记录;
例:Delet from 表名 删除所有记录;
删除字段值
4.Truncate table 表名;只能全部删除
Delet与truncate 区别:delete语句每删除一条记录,都会在日志中记录。truncate语句不会记录
truncate删除数据后,再像表中添加记录时,自动增加字段的默认初始值重新由 1 开始。delete删除表中积累后,再次向其添加记录时,自动增加字段的值为删除时该字段的最大值加 1 。
truncate 执行效率高于 delete;
四、 查询数据表
- select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];
注:from子句 指出数据表来源;from 表名
Where 条件表达式;where 成绩>100
Group by 分组字段;
Having 函数:
count(): 统计一组中的数量,通常用星号做参数 count(*)
max(字段名):获取该字段中在该组中的最大值。Max(成绩)
min(字段名):获取该字段中在该组中的最小值。Min(成绩)
sum(字段名):获取该字段中在该组中的总和。sum(工资)
avg(字段名):获取该字段中在该组中的平均值。Avg(成绩)
group_concat(字段名):获取该分组内的这个字段所有信息,每条逗号分隔
order by 排序字段 默认升序 desc表示降序 order by 字段 desc
宝剑锋从磨砺出
梅花香自苦寒来