美文网首页
mysql数据库使用

mysql数据库使用

作者: 既然何必 | 来源:发表于2023-09-12 09:23 被阅读0次

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;

相关文章

网友评论

      本文标题:mysql数据库使用

      本文链接:https://www.haomeiwen.com/subject/glbcektx.html