当前位置: 首页>数据库>正文

MySQL 1-15

MySQL

  • 作用:存数据,管理数据

关系型数据库

  • MySQL,Oracle,Sql Server,DB2,SQLlite
  • 通过表和表之间,列和列之间的关系进行数据的存储

非关系型数据库

  • Redis,MongDB
  • 非关系数据库类型,对象存储,通过对象自身的属性来判断

DBMS(数据库管理系统)

  • 数据库的管理软件,科学有效的管理我们的数据,维护和获取数据。
  • MySQL,数据库管理系统

连接数据库

命令行链接

1.mysql -uroot -p123456连接数据库
2.update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost';重置密码
3.flush privileges刷新权限
4.所有的语句都用;结尾
5.show databases;查看所有的数据库
6.mysql> use school 切换数据库
Database changed
7.show tables查看数据库中所有的表
8.describe student;显示数据库中所有表的信息
9.create database westos;创建一个数据库
10.exit退出连接
11.--(sql单行注释)

  • DDL 定义
  • DML操作
  • DQL查询
  • DCL控制

操作数据库

  • mysql不区分大小写
    1.创建数据库
    CREATE DATABASE IF NOT EXISTS westos
    2.删除数据库
    DROP DATABASE IF EXISTS westos'
    3.使用数据库
    USE school
    4.查看数据库
    SHOW DATABASES

数据库的数据类型

数值

  • tinuint 十分小的数据 1个字节
  • smallint 较小的数据 2个字节
  • mediumint 中等大小的数据 3个字节
  • int 标准的整数 4个字节
  • bigint 较大的数据 8个字节
  • float 浮点数 4个字节
  • double 浮点数 8个字节
  • decimal 字符串形式的浮点数,一般金融计算的时候用

字符串

  • char 字符串固定大小的 0-255
  • varchar 可变字符串 0-65535
  • tinytext 微型文本 2^8-1
  • text 文本串 2^16-1

时间日期

  • date YYY-MM-DD,日期格式
  • time HH:mm:ss 时间格式
  • datetime YYY-MM-DD HH:mm:ss 最常用时间格式
  • timestamp 时间戳 1970.1.1到现在的毫秒数
  • year 年份

null

  • 没有值,未知

数据库的字段属性

Unsigned:

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

zerofill

  • 0填充的
  • 不足的位数,使用0来填充, int(3)

自增

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

非空 NULL not null

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

默认

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

创建数据库表

  • AUTO_INCREMENT 自增
  • 字符串使用单引号括起来
  • PRIMARY KEY (主键),一个表一般只有一个主键
CREATE TABLE IF NOT EXISTS `student`(
  `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT'姓名',
  PRIMARY KEY(`id`)
)

常用命令

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

修改删除表

修改表名

  • 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名
    ALTER TABLE teacher RENAME AS teacher1
  • 增加表的字段 ALTER TABLE 表名 ADD 字段名 列属性
    ALTER TABLE teacher1 ADD age INT(11)
  • 修改表的字段(重命名,修改约束)
    ALTER TABLE teacher1 MODIFY age VARCHAR(11)--修改约束
    ALTER TABLE teacher1 CHANGE age age1 INT(1)--字段重命名
  • 删除表的字段
    ALTER TABLE teacher1 DROP age1
  • 删除表
    DROP TABLE IF EXISTS teacher1

DML语言

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

添加

  • insert into 表名([字段名1,字段名2,字段名3])values(('值1'),('值2'),('值3'))
    INSERT INTO grade(gradename)VALUES('大四')
  • 由于主键自增我们可以省略(如果不写表的字段,就会一一省略)


    MySQL 1-15,第1张
    image.png

修改

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

  • UPDATE student SET name='shy' WHERE id=1(不指定条件下,会改动所有表)
  • 条件:where子句 运算符 id 等于某一个值 ,大于某一个值,在某个区间内修改
    -操作符
  • = 等于
  • <>或者!= 不等于
  • BETWEEN * AND * 某个范围内
  • AND 和
  • OR 或

删除

  • delete from 表名[where条件]
  • DELETE FROM studentwhere id=1;

清空表

  • TRUNCATEstudent

相同点

  • 都能删除数据,都不会删除表结构

不同点

  • TRUNCATE 重新设置自增列,计数器会归零
  • TRUNCATE 不会影响事物

https://www.xamrdz.com/database/6be1850489.html

相关文章: