mysql数据库使用

db:数据库简称

外键:关联其他表的数据db数据库简称sql语句都以分号结尾CTRL+c 终止命令 


mysql中删除是以行为单位来操作


卸载mysql

1.停止数据库net stop mysql

2.删除数据库服务mysqld -remove

3.删除数据库的初始化数据

4.删除环境变量

注意:需要用管理员身份操作



navicat操作数据库


创建数据库

数据库的名字

不能有任何的符号,下划线除外

只能英文字母开头

组合是能是英文字母,数字,下划线

不能使用保留字段作为名字

以上命名规则适用于所有it类命名


字符集

utf8

utf8mb4




设计表

字段名(必填)

字段类型(必填):不用计算的用字符串格式,字符串要用引号括起来

" "空字符串

字段长度(必填):一个汉字2-4字节

是否必填:not null

默认值:default值

注释:给字段添加说明

主键/primary key:一般每个表起码一个主键;主键可以限制这个字段不能重复;设置了主键的字段不能为空

索引/index:一般查数据都会写条件,可以把经常用的条件,这个字段添加上索引,再用这个条件去做查询的时候,数据库查询的时间就会变快;不过数据量特别多的时候,索引就起不了作用了









导出数据库数据

可以把数据库里的所有表和数据导出为sql文件,并给其他人用


导入sql文件

权限设置


%所有人都可以访问,loaclhost只能本机访问,写了哪个IP就只能哪台电脑访问







终端操作数据库

连接数据库:mysql -u 用户名 -p 回车后输入密码(连接本地数据库;端口如果是默认的则不用写端口)

-h   host

-P    Port

-u    user

-p    password


断开数据库exit



数据库管理

查看数据库:show databases;

选择数据库:use数据库名字;

创建数据库:create database 数据库的名字 default charset utf8mb4;

修改数据库:alter database 数据库的名字 default charset utf8mb4;

删除数据库:drop database 数据库的名字;



表的管理

查看表:show tables;

查看表结构:desc 表名;

创建表:create table 表名(字段1信息,字段2信息,字段3信息);


修改表:alter table 表名 ……

增加字段:alter table 表名 add 字段信息;

修改字段名:alter table 表名 change 旧字段名 新的字段信息;

修改字段属性:alter table 表名 modify 字段信息;

删除字段:alter table 表名 drop 字段名;

修改表名:alter table 表名 rename 新表名;


删除表:drop 表名;





多表联查

内连接:join

内连接取交集


外连接: 外连接取并集

左连接/left join

右连接/right join

join左边是左表,右边是右表

外连接






数据分组:group by

分组不能单独使用 必须和聚合函数一起使用

having查分组之后的数据  where查分组之前的数据






group by可用于字段去重




数据排序:order by 字段

加上desc是倒序




限制数据显示的数量:imint

limit 0.5  从第0行开始一共显示5条数据,写在SQL语句最后

只写一个数字,默认从0条开始,共显示xx条数据







条件语句:case when ……then……

当什么情况,就做什么

select id,sname,(case when age < 30 then "青年" when age >=30 and age <=60 then "壮年" else "老年" end) from t_student;







嵌套查询(子查询)

把查询结果作为表

把查询结果作为条件

把查询结果作为列展示

select * from (select a.id,b.aname,b.cname from t_student a join t_class b on a.cid = b.id) a where cname = "美术班";




聚合函数(只能对数字用)

count

max

min

avg

sum






判断符

=

>

<

!=

in(可以取反)

is(可以取反) is查字段是否为空  is not相反


like(可以取反)


between(可以取反)只能用在数字之间





逻辑连接符

and(取反:and not并且不)

or




命令写错/环境变量配置错误



表的类型

真实的表

虚拟的表:通过sql语句显示的表


临时表:temporary

临时表无法被查询到

临时表可以正常操作

断开连接后,临时表会自动销毁

作用:可以把嵌套表表内容存到临时表中,对临时表查询就行了,减少sql语句



数据库的事务

开始:begin;

确认:commit;

回滚:rollback;     恢复到事务开始之前


开始之后,执行过确认/回滚本次事务就结束了,再次开始需要重新开始事务




sql语句分类

DDL:造成数据库或表发生变化

create

alter

drop


DQL:只是查询,不会对数据有任何影响

select

from

where


DML

insert

update

delete


DCL:属于数据库的某一个功能

begin

commit

rollback








select a.id,a.sname,b.class,c.chinese from t_student a join t_class b on a.classname = b.id join t_results c on a.id = c.s_id;

mysql> select a.id,a.sname,b.class,c.chinese from t_student a join t_class b on a.classname = b.id join t_results c on a.id = c.s_id where c.chinese >65;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容