数据库学习(基础)

1cnd命令行语句

2.操作数据库

对照sqlyog可视化历史记录查看sql

固定的语法和关键字必须要记住

2.2数据库的列类型

数值

  • tinyint     十分小的数据       1个字节
  • smallint   较小的数据         2个字节
  • nediumint    中等大小的数据   3个字节
  • int             标准的整数         4个字节     (常用)
  • big           较大的数               8个字节             (long)
  • float          浮点数                4个字节
  • double         浮点数              8个字节        (精度问题)
  • decimal         字符串形式的浮点数       金融计算的时候   一般使用

字符串

  • char       字符串  固定大小     0~255
  • varchar   可变字符串             0~65535   (常用  string)
  • tinytext       微型文本                 2^8-1
  • text            文本串                    2^16-1    保存大文本

时间日期

  • date        YYYY-MM-DD   日期
  • time      HH:mm:ss         时间格式
  • datetime       YYYY-MM-DD  HH:mm:ss   最常用的时间格式
  • timestamp     时间戳           1970.1.1到现在的时间     常用
  • year                 年份表示

null

  • 没有值 未知
  • --注意 不要使用NULL进行运算 结果为NULL

2.3数据库的字段属性(重点)

Unsigned:

  • 无符号的整数
  • 声明了该列不能声明为负数

zerolill

  • 0填充
  • 不足的位数 使用0来田中   int(3),   5---005

自增

  • 通常理解为自增 自动在上一条的记录基础上+1(默认)
  • 通常用来设计唯一的主键~index  必须是整数类型
  • 可以自定义设计组件自增的起始值和步长

非空 NULL not null

  • 假设设置为not null 如果不给他赋值 就会报错
  • NULL 如果不填写值  默认为null

默认

  • 设置默认的值
  • sex   默认值为男 如果不指定该列的值 则会有默认的值

拓展    (看看就好)

 2.4创建一个数据库表

 CREATE TABLE IF NOT EXISTS `student`(
    `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
    `name` VARCHAR(30) NOT NULL DEFAULT'匿名' COMMENT'姓名',
    `pwd` VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT'密码',
    `sex` VARCHAR(2)  NOT NULL DEFAULT'男' COMMENT'性别',
    `birthday` DATETIME DEFAULT NULL COMMENT'出生日期',
    `address` VARCHAR(100) DEFAULT NULL COMMENT'家庭住址',
    `email` VARCHAR(50) DEFAULT NULL COMMENT'邮箱',
    PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8`student`

格式

GREATE TABLE[IF NOT EXISTS]表名(

     ‘字段名’ 列类型 [属性] [索引] [注释],

     ‘字段名’ 列类型 [属性] [索引] [注释],

     ‘字段名’ 列类型 [属性] [索引] [注释],

)[表类型][字符集设置][注释]

 常用命令

SHOW CREATE DATABASE school -- 查看创建数据库的语句
SHOW CREATE TABLE stdent -- 查看student数据表的定义语句
DESC student -- 显示表的结构

2.5数据表的类型

关于数据库引擎

/*

INNODB 默认使用

MYISAM早些年使用

*/

常规使用操作

  •  MYSIAM  节约空间 速度较快
  • INNODB  安全性高 事务的处理 多表多用户操作 

在物理空间存在的位置

所有的数据库文件都存在data目录下

本质还是文件的存储

设置数据库表的字符集编码

CHARSET=utf8

不设置的话 回事mysql默认的字符集编码   (不支持中文)

MySQL的默认编码是Latin1 不支持中文

在my.ini中配置默认的编码

character-set-sercer=utf8

2.6 修改删除表

修改

 删除

 

 注意点

  • ``字段名 使用这个包裹 (tab上方的键)
  • 注释  --   /**/
  • sql关键字大小写不敏感 建议使用小写
  • 所有的符号全部用英文

3 MySQL数据管理

 3.1 外键(了解即可)

以上的操作都是物理外键 数据库级别的外键 不建议使用( 避免数据库过多造成困扰)

最佳实践

  • 数据库就是单纯的表 只用来存数据 只有行(数据) 和列(字段)
  • 我们想使用多张表的数据 想使用外键(程序去实现)

 3.2 DML语言(全部记住)

数据库意义:数据存储 数据管理

DML语言:数据操作语言

  • Insert
  • update
  • delete

 3.3 添加 Insert

 语法  :insert into 表名([字段1,字段2,字段3]valuse('值1') ('值2') ('值3')......

 注意  :

  1. 字段和字段之间用英文逗号隔开
  2. 字段是可以省略的 但是后面的值必须一一对应 不能少
  3. 可以同时插入多条数据 VALUES后面的值 需要使用,隔开 VALUSE(' '),(' '),(' '),    

 3.4 修改 update 

 修改谁 (条件)  set 原来的值=新值

 

语法 :UPDATE 表名 SET colnum_name = value,[colnum_name = value ......]  where [条件]

条件 :where子句 运算符 id等于某个值 大于某个值 在某个区间修改

操作符会返回布尔值

注意

  • colnum_name是数据库的列 尽量带上``
  • 条件 筛选的条件 如果没有指定 会修改所有的列
  • value 是一个具体的值 也可以是一个变量(CURRENT_TIME)
  • 多个设置的属性之间 用逗号隔开

 3.5 删除 delete

语法: delete from 表名[where  条件]

delete与truncate的区别 

了解即可  :delete删除的问题  重启数据库 现象 

  • innoDB 自增列会从1开始 (存在内存当中的 断电即失)
  • MyISAM 继续从上一个自增量开始(存在文件中的 不会丢失)
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值