美文网首页
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