MySQL基础之基础

1.为什么要学习数据库?

实现数据持久性

有专门的系统管理它

1.1数据库一些基本知识

DB 数据库,保存一组有组织数据的容器

DBMS 数据库管理系统(增删检查)

SQL结构化查询语言(几乎所有DBMS都支持SQL)

1.2数据库的特点

1.将数据放到表中,表在放在库中

2.一个数据库有多个表,每个表都有一个名字。表名具有唯一性。

3.表相当于与类

4表由列组成,也就是字段。相当于属性。

5表中的数据是按行存储的,每一行类似于“对象”。

1.3常见的数据库

关系型数据库:MySQL SQLserver Oracle

非关系型数据库:Redis,mogodb

-- 大小写不敏感

2.数据库操作语言

2.1数据类型: 参照Java的数据类型

整数:int bigint

字符串 char varchar

char:定长字符串,如char(20)表示该字段的固定长度为20,如果字符串的长度不够20.会用空字符填充最大长度2000

varchar:表长字符串如varchar(20)表示该字符串的最大长度为20,最大长度4000

小数:double浮点型,例如double(5,2)表示最多5位,其中必须有2位小数

泛型型:decimal,表示金钱方面使用该类型,不会出现精度缺失

日期:date:日期类型,格式:yyy—MM—dd

time:日期类型,格式:hh:mm:ss

timestamp:日期戳类型,yyy—MM—dd hh :mm:ss

2.2数据库的语言

DDL(数据库定义语言):表的创建,修改,查看,删除。表结构的添加,修改,删除,查看

1.创建表格式:

create table 表名(

字段名1 数据类型1,

字段名2 数据类型2

);

create table students(

id int,

name varchar(20),

score double );

-- 主键和外键

-- 主键具有唯一性

-- 主键:auto _increment表示自动增长,插入数据无须插入主键值,主键值自动生成,必须是整数类型

-- 创建stu表,字段为主键自增

create table stu(

id int primary key auto_increment,

name varchar(20),

score double );

--2.1 修改表名:alter table 原表 rename to 新表;

-- 修改 stu表为emp表

alter table stu rename to emp;

show tables;

-- 2.2修改表名2:rename table 原表 to 新表

-- 修改 stu表为emp表

alter table stu rename to emp;

show tables;

-- 3.查看当前数据库的表

show tables;

-- 4.删除表

drop table 表名;

--1 查看表结构,有多少个字段

desc students;

-- 2在表中添加列:alter table 表名 add(字段 字段数据类型);

-- 给stu表添加gender(性别)字段

alter table stu add(gender char(1));

-- 给stu表添加tel(电话)字段

alter table stu add(tel char(11));

-- 3删除stu表中的列 :alter table 表名 drop 字段;

alter table stu drop gender;

-- 4修改表中的字段名称:alter table 表名 change 原列名称 新列名称 数据类型

-- 4修改表中的字段数据类型

-- alter table 表名 modify 字段 字段数据类型

DML(数据库操作的语言):表数据的增加,删除,和修改,查询.

-- 1查询表数据:select * from 表名;

-- *:表示所有字段

-- 查看student表中的所有数据

select * from student;

-- 2插入表数据:

此语句的作用是当我们在插入一条数据时,如果此条已经存在,那么先删除原来存在的数据再添加插入的数据,如果不存在那么直接插入新的数据。注意:却分是否存在是通过主键来确定的

-- insert into 表名(字段名1,字段名2...) values(字段1值,字段2值);

-- 向student表插入一条数据

insert into student(id,name,score) value(1,'甜甜',98);

-- 一次插入多条数据

insert into student(id,name,score) values(1,'甜甜',98),(2,"诚诚",6);

-- 如果前面括号中的字段顺序调换,只要后面的值对应起来即可

insert into student(name,score,id) values('灼灼',100,3);

-- 如果表中所有的字段都需要插入数据,此时values前面的括号内容可以省略,但是value(values)后面的括号中的值一定要按照数据库中的顺序填写

insert into student value(4,'湛湛',59);

-- insert into student value('湛湛',4,59);-- 报错

-- 插入部分字段的数据

insert into student(name,score) value('攀哥',0);

-- 3删除表中的数据:delete from 表名;

delete from student;

-- 4修改表中的数据:update 表名 set 字段1名=值,字段2名=值

update student set name='蜡笔小新';

-- 指定修改某一个数据:where

-- 修改name='蜡笔小新'的分数为99分

update student set score=99 where name ='蜡笔小新';

-- 修改id为2的学生分数为199分

update student set score=199 where id=2;

你可能感兴趣的:(MySQL基础之基础)