首页 > 数据库技术 > 详细

有关数据库基础知识(更新中)

时间:2020-03-04 21:49:20      阅读:88      评论:0      收藏:0      [点我收藏+]

DBA: 数据库管理员

数据库(DB DataBase)

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

概念:数据仓库,软件,安装在操作系统(Windows,linux,mac...)之上的 sql可以存数据,500W!

数据库分类

关系型数据库(SQL):Mysql,Oracle,DB2,sqllite。通过表和表,行和列之间关系存储。

非关系型数据库(NoSQL not only sql):Redis,MongDB。对象存储,通过对象自身属性来存储。

操作数据库

操作数据库>操作数据库的表>操作数据库表中的数据

==mysql关键字不区分大小写==

创建数据库

CREATE DATABASE [IF NOT EXIT] westos

[Err] 1007 :数据库已存在。 记得创建完刷新。

删除数据库

DROP DATABASE [IF EXIT] westos

使用数据库

USE `westos`

查看所有数据库

 SHOW DATABASES

数据库数据列类型

数值:常用的有 int 四个字节 ,bigint 八个字节,float 四个字节,double 八个字节 金融计算一般用decimal

字符串 : 常用的 char 0-255 , varchar 0-65535,tinytext 2^8-1,text2^16-1

时间和日期:data:yyyy-mm-dd time: hh:mm:ss datatime:data+time timestamp:1970.1.1到现在的毫秒数 year:年份表示。

null 不要使用null运算

数据库的字段属性

unsigned:无符号的整数,该列不能为负数

zerofill:0填充

自增:在上一条基础加1 通常设置主键。

非空:not null 不能为空的值

默认:设置默认值 不指定值则有默认值

拓展:

id  主键
`version` 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_updata 修改时间

创建表

CREATE TABLE [IF NOT EXISTS]`student1`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号‘ ,
?
`name` VARCHAR(30) NOT NULL  DEFAULT ‘匿名‘ COMMENT ‘姓名‘,
?
PRIMARY KEY (`id`)
?
?
)ENGINE=INNODB DEFAULT CHARSET=utf8

comment 是注释,主键一般写在句子最后,default和comment后边都是单引号,AUTO_INCREMENT是自增

查看表的信息

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

然后在结果上复制,粘贴到文本上

表的类型

 MYISAMINNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小

MYISAM:节约空间,速度快

INNODB:安全性高,事务的处理,多表多用户操作

修改表名

ALTER TABLE student2 RENAME AS student1

增加表的字段

ALTER TABLE student2 ADD age INT(11)

修改表的字段

ALTER TABLE student2 MODIFY name VARCHAR(13)-- 修改属性
ALTER TABLE student2 CHANGE id id1 INT(100)--修改名字 记住一定要重新设置

删除表的字段

ALTER TABLE student2 DROP id1

所有的创建删除最好都加上 IF EXISTS

DML语言

  • insert :

  • INSERT INTO `student2`(`name`) VALUES(‘刘晗‘),(‘刘东‘)。
    插入多个值,INSERT INTO `student2`(`name`,`age`) VALUES(‘刘晗‘,‘19‘),(‘刘东‘,‘18‘)
  • updata:

  • UPDATE `student2` SET `name`=‘通通‘ WHERE id1=3
    换多个数,
  • delete,TRUNCATE

  • DELETE FROM `student2` WHERE `id1`=4 --不会影响自增
    TRUNCATE TABLE `student2`--自增变为0

    DQL(DATA QUERY LANGUAGE)

    SELECT 字段 FROM 表 --查询表信息

    给字段起别名

    拼接字符串

    SELECT `id`,`name` FROM `student`
    SELECT `id` AS 学号,`name`AS 名字 FROM `student`
    SELECT CONCAT(‘姓名‘:,name) AS 名字FROM `student`

    去重:去除重复数据,只显示一条

    SELECT DISTINCT `id` FROM `student`

    where:检索数据

    模糊查询:比较运算符,重点有(is null,is not null,between。。。and,like,in)

    like的用法:where+字段+like+关键字(%或者_)

    in:where+字段+in+(范围) 范围为具体的一个或者多个值

    连表查询

    操作描述
    Inner Join 如果表中至少有一个匹配就返回行
    Left Join 会从左表中返回所有值,即使右表中没有匹配
    Right Join 会从右表中返回所有值,即使左表中没有匹配

有关数据库基础知识(更新中)

原文:https://www.cnblogs.com/ltdh/p/12416361.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!