一、基本命令:
(1)连接本地数据库服务:mysql -u root -p
(2)连接其它电脑上的数据库服务:mysql -h ip地址 -u root -p
(3)在连接数据库服务时直接选择库:mysql -D 库名 -u root -p
(4)退出数据库服务:exit 或 quit 或 \q
二、使用步骤:
1、链接数据库服务
2、创建一个数据库—>选择库
3、设计表(表中有哪些字段、字段用什么数据类型表示、字段需要添加什么约束条件)
4、多张表需要考虑表与表之间的关系-----外健—》主键
5、数据的增删改查
三:库 的知识点
库(建库,查看,修改-字符编码,删除)—>表(建表,查看,修改-表名、字段,删除)—>数据(插入、修改、删除、查询)
DDL:库、表的操作(create、drop、alter、show)
DML:数据插入(insert)、数据修改(update)、数据删除(delete)
DQL:数据查询(select)
四、库的一些命令:
1、创建库:create database 库名;
create database 库名 character set 字符集;
create database 库名 charset 字符集;
2、查看库:
(1)查看所有库:show databases;
(2)查看当前所使用的库:select database();
(3)查看当前所使用的库的信息:status; 或 \s
(4)查看建库时的语句:show create database 库名;
3、选择库(使用库、进入库):use 库名;
4、修改库(修改库的字符编码):alter database 库名 character set 字符集;
alter database 库名 charset 字符集;
5、删除库:drop database 库名;
6、查看数据库的版本:select version();
7、查看当前系统的时间:select now();
五、数据类型:
1、数值类型(整数、浮点数):分为 有符号 和 无符号(unsigned)
2、字符串类型:char-定长字符串 varchar-变长字符串 enum-枚举
3、时间日期类型:date-年月日 time-时分秒 year-年 datetime-年月日时分秒
六、约束:
1、主键primary key:唯一与非空的结合
2、非空not null:数据不能为空
3、唯一unique:数据不能重复
4、默认default:默认值
5、自增auto_increment:数据不需要填写,插入一条数据的时候就自动递增1
6、外键foreign key:两个以上的表建立关联的时候使用
七、表的知识点
表:(在操作表之前一定要先选择一个库)(主外键:一个表里的外健,一定是另一个表里的主键)
1、建表:
create table 表名(
字段名1 数据类型 [约束],
字段名2 数据类型 [约束],
......
最后的字段名 数据类型 [约束]
);
2、查看表:
(1)查看某一个库里所有的表:show tables;
(2)查看建表时的语句:show create table 表名;
(3)查看表结构(表里有哪些字段):desc 表名;
3、修改表名:rename table 原表名 to 新表名;
4、修改表的字段:
(1)添加表里的字段:alter table 表名 add 字段名 数据类型 [约束];
(2)修改表里的字段:alter table 表名 change 原字段名 新字段名 数据类型 [约束];-----可以改变字段的名字、数据类型、约束
alter table 表名 modify 字段名 数据类型 [约束];-----可以改变字段的数据类型、约束、位置
alter table 表名 modify 需要移动的字段名 数据类型 first;-----将字段的位置修改到第一列
alter table 表名 modify 需要移动的字段名 数据类型 after 参考的字段名;-----将字段的位置修改到某个字段之后
(3)删除表里的字段:alter table 表名 drop 字段名;
5、删除表:drop table 表名;-----删除后表就不存在了
八、数据:
1、插入数据:insert into 表名[(字段名)] values(字段值1,字段值2.......)[,(字段值1,字段值2.......)]
2、修改数据:update 表名 set 要修改的字段名=修改后的值 [where 修改的条件];
3、删除数据:
(1)delete from 表名;-----把表里数据全部删除,但表还存在
delete from 表名 where 删除的条件;-----根据条件来删除表里的数据
(2)truncate table 表名;-------清空表里的数据,但表仍然存在,而且不能加条件
九、数据查询:
九(1)
基本查询:
(1)查询全部字段的全部数据:select * from 表名;
(2)查询部分字段的全部数据:select 字段名1,字段名2,......from 表名;
(3)根据一个条件查询数据:select * from 表名 where 条件;
(4)根据多个条件查询数据:条件与条件之间用and、or、in、between...and...
(5)模糊查询:select * from 表名 where 字段名 like '值';------% _
(6)去重:select distinct 字段名 from 表名;
(7)按照单个字段排序:select * from 表名 order by 字段名 asc/desc;(asc升序-默认,desc降序)
按照多个字段排序:select * from 表名 order by 字段名1 asc/desc,字段名2 asc/desc;
有条件的排序:select * from 表名 where 条件 order by 字段名 asc/desc;
(8)限制查询结果的数量:limit
九(2)
连接查询:(涉及到两个表以上,在查询的时候至少要有一个必备的条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主任,在另一个表里是外健)
1、内连接
(1)显示内连接:select 字段 from 表名1 inner join 表名2 on 两个表连接的条件 [where 其他查询的条件];
(2)隐式内连接:select 字段 from 表名1,表名2 where 两个表连接的条件 [and 其他查询的条件];
2、外连接
(1)左外连接:select 字段 from 表名1 left join 表名2 on 两个表连接的条件 [where 其他查询的条件];
(2)右外连接:select 字段 from 表名1 right join 表名2 on 两个表连接的条件 [where 其他查询的条件];
九(3)
聚合函数查询:
(1)count()-计数 sum()-求和 max()-最大值 min()-最小值 avg()-平均值
(2)select 聚合函数名(字段名) from 表名 [where 条件];
(3)select 分组字段名,聚合函数名(字段名) from 表名 group by 分组的字段名;
九(4)
子查询:(查询嵌套查询)
(1)select * from 表名 where 字段名=(select 字段名 from 表名);-----子查询的结果只有一个值
(2)select * from 表名 where 字段名=any(select 字段名 from 表名);-----子查询的结果只多个值,等于其中的任意一个值
(3)select * from 表名 where 字段名<all(select 字段名 from 表名);-----子查询的结果只多个值,小于所有值
(4)select * from 表名 where exists (select 字段名 from 表名);-----子查询如果有查询的结果,外查询就执行
标签:知识点,步骤,数据库,数据类型,查询,字段名,表名,where,select From: https://blog.csdn.net/xiao77224li/article/details/139436602