mysql

1

1进入数据库

D:\软件安装包\MySQL5.7and8.0以及安装文档\mysql-5.7.26-winx64\bin

1.打开【开始】》【运行】输入【cmd】单击【确定】后出现CMD命令黑色窗口,这就是我们说的CMD命令行,或者使用快捷键Windows键(在键盘上有个Windows标志的按键)+R输入cmd后回车。

2.在CMD命令窗口敲入命令 mysql -h localhost -u root -p

后按回车(注意这里的"-h"、"-u"、"-p"不能省略) 进入mysql数据库,其中"-h"表示服务器名,localhost表示本地;"-u"为数据库用户名,root是MySQL默认用户名;"-p"为密码,如果设置了密码,可直接在-p后链接输入,如:-p888888,用户没有设置密码,显示Enter password时,直接回车即可。

注意如果您的MySQL没有安装在C盘下,先使用DOS命令进入MySQL的安装目录下的bin目录中。方法如下:输入G:进入G盘),在输入cd G:\phpstudy\mysql\bin 进入到MySQL的bin目录下,才可以输入 mysql -hlocalhost -uroot -p 然后按回车键。

sudo ser

数据库的简介

  • 用途: 用于存储生活中的一切数据,如身份证,住宿,票务,网站
  • 分类:
    • 关系数据库: mysql ,oracle sqlserver ,sqlite… (表格形式存储)
    • 非关系型数据库:Rides , MongoDB(键值对存储)
  • 慨念: 数据库的服务器, 数据库, 数据表, 数据, 字段
  • SQL: structured query language, 结构化查询语言
  • 命令:
    • 数据定义语言(DDL) : 创建, 删除 , 修改
    • 数据操作语言(DML) : 增 , 删 , 改
    • 数据查询语言(DQL): 查
    • 数据控制语言(DCL) :授权 , 取消授权
    • 数据事物语言(DTL) : 开启事务 , 提交事物 ,回滚

数据定义语言

  • 查看库: show databases;, 会显示连接的数据库的服务器上面的所有数据库
语法 说明
show databases; 所有数据库
show databases like ‘test_db’ 查看与 test_db 完全匹配的数据库
show databases like ‘%test%’ 查看名字中包含 test 的数据库
show databases like ‘db%’; 查看名字以 db 开头的数据库
show databases like 'db% ‘%db’; 查看名字以 db 结尾的数据库

  • 创建数据库: create database test (库名) ; 创建一个叫test的数据库

  • 删除数据库:drop database test (库名); 删除一个叫test的数据库

    • 此时数据库 test 不存在。再次执行相同的命令,直接使用 drop database test,系统会报错

      #如果使用if exists从句,可以防止系统报此类错误
      mysql>drop database  if exists test
      
  • 选择数据库:use test ; , 选择一个叫test的数据库

    • 查看当前的数据库:
      • show tables; 显示数据库里面的所有表
  • 创建表:create table user(username varchar(20), password char(32) );

  • 查看表的结构: desc user

  • 查看服务器的

  • 字符集和存储引擎

    • 存储引擎 : Innodb , myiseam

    • 查看当前的字符集:show variables like " character%"(utf8)

    • 查看存储引擎: show variables like “%storage%”; (InnoDB)

    • ubuntu下面的修改配置文件:/etc/mysql/mysql.conf.d/mysql.cnf

      ...
      [mysqld]
      #字符集
      character-set-server=utf8
      #存储引擎
      default-storage-engine=InnoDB
      #重启才能生效
      
  • 查看创建语言

    • 查看库 : show create database test(库名);
    • 查看表的创建语言: show create table user;
  • 删除表: drop table user;

  • 修改表结构(alter)

    • 修改字段类型: alter table user modify username varchar(20);
    • 修改字段名字: alter table user change password(旧字段名) pwd(新字段名) char(32);
    • 添加新的字段:
      • 默认在末尾添加: alter table user add age int;
      • 在指定的字段后面添加: alter table user add email varchar(64) after pwd; 在pwd后面添加一个email
      • 在开头进行字段添加: alter table user add id int first
      • after和first也适用于modify和change
    • 删除指定的字段: alter table user drop age;
    • 修改表的名字: alter table user rename new_user

注意:在数据库的命令后面要加分号

数据类型

  • 整型

    类型 说明
    tinyint 1字节
    smallint 2字节
    mediumint 3字节
    int(常用) 4字节
    bigint 8个字节
    • 不同的整数类型有不同的取值范围,并且需要不同的存储空间,因此应根据实际需要选择最合适的类型,这样有利于提高查询的效率和节省存储空间。

  • 浮点型

    类型 说明
    float(m,d) 单精度浮点数,4个字节,m表示总位数,d表示的是小数点后面几位
    double(m,d) 双精度浮点数,8字节
    decimal(m,d) 以字符串类型的形式存储浮点数,多用于金融行业
    • 在 MySQL 中,定点数以字符串形式存储,在对精度要求比较高的时候(如货币、科学数据),使用 DECIMAL 的类型比较好,另外两个浮点数进行减法和比较运算时也容易出问题,所以在使用浮点数时需要注意,并尽量避免做浮点数比较。
  • 字符串类型

    类型 说明
    varchar 变长的字符串,0-65535字节
    char 定长的字符串,0-255字节
    text 文本类型
  • 时间类型

    类型 说明
    date 日期,格式:“2019-08-12”,3个字节
    time 时间,格式:“15:03:34”,3个字节
    datetime 时间日期,格式:“2019-08-12 15:03:34”,8个字节
    timestamp 时间戳,4个字节 ,1970-现在,
    year 年,只占1个字节
  • 字段的修饰

    类型 说明
    unsigned 无符号
    zerofill 高位填充0,可以防止负数的出现
    default 默认值
    not null 不能为空
    auto_increment 自动增加1,用于整型的字段,常和主键一起使用
  • 字符集

    • 查看系统的字符集:show character set;
  • 存储引擎

    • 查看系统支持的引擎: show engines

    • 常用的存储引擎有:

      存储引擎 说明
      InnoDB 适合多写的操作
      MyISAM 适合多读的操作
  • 搜引管理

    • 说明 : 简单理解就是一本书的目录,可以读取效率,但是也不是越多越好

    • 分类 :

      索引 说明
      普通索引 index,最基本的索引
      唯一索引 unique,修饰的字段不能重复
      主键索引 primary key,是一个特殊的唯一索引,一张表只能有一个主键
      全文索引 fulltext,对全局的数据添加索引(很少用)
    • 添加索引: alter table new_user add index(email);

    • 删除索引: alter table new_user drop index email;

    • 创建表的时候,最标准的写法:

      create table user(
      	id int auto_increment,
      	name varchar(20),
      	primary key(id),
      	unique(name)
      	)engine=InnoDB default charset=UTF8
      	
      

2

数据操作语言(DML)Data Manipulation Language

  • 说明:在大多数操作数据库中都是增删改

  • 准备:一张用于测试的表

     create table star(
     id int auto_increment,
     name varchar(20) not null,
     money float not null,
     province varchar(20) default null,
     age tinyint unsigned not null,
     sex tinyint not null,
     primary key(id)
     )engine=innodb default charset=utf8;
    

  • 插入数据

    • 方式1:不指定字段,添加数据的时候需要指定所有的字段值,
    insert into star values(1,'蒋龙',2556783,'湖南',22,0);
    
    #可以一次性插入多个,每条数据都必须使用()扩起来,使用之间使用逗号隔开
    
    • 方式2:指定字段,只需要传递指定字段值,通常使用这个方式,如:

      insert into start (name, money, age, sex, province)
      values("周杰伦", 78278278, 42, 0, "台湾"),
      ("胡歌", 72636633,39,0,"上海");
      

      注释:插入数据字段的顺序,与前面指定一定要一致,与数据库里面的字顺序无关。

    • 说明:插入数据不用传值的字段

      • 自增的字段
      • 有默认值
      • 可以为空
  • 修改数据:

    • 示列 :

      update start set money=7272727 where id=3
      
    • 警告: 修改的时候,一定不要忘了加条件,后果很严重

  • 删除数据:

    • 示列:
    delete from start where name="胡歌";
    
    警告:删除操作一定不要忘了加条件,后果很严重
    
    • 说明: 在真实的项目中,不会真的删除,大多数用逻辑删除

数据查询语言(DQL)

  • 基本查询 : select * from start:

  • 指定字段查询: select name ,money from start;

  • 过滤重复的记录: select distinct province from start:

    • 说明: 使用distinct指定的字段不能重复,指定多个字段
  • 条件查询:

    • 条件

      条件 说明
      > 大于
      < 小于
      >= 大于等于
      <=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值