A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Black_Y 初级黑马   /  2018-5-9 16:00  /  760 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2018-5-11 09:35 编辑

                                                     MySQL数据库

```html
数据库--->表--->表中数据(CRUD三个级别)
```
#查询表中记录(重点)
```
语法:select [distinct] *|列名 from 表 [条件]

```
##表中记录的CRUD
```
删除语法:delete from 表名 [where 条件];
删除所有记录:delete from user;
删除某一条:delete from user where id = 2;

修改语法:update 表名 set 列名=值,列名=值 [where 条件];

添加:向表中插入某些列:insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…)
    向表中插入所有列:insert into 表名 values (值1,值2,值3…);

```


###什么是数据库

数据库就是一个文件系统,通过标准的SQL语句获取数据.

###什么是关系型数据库

关系型数据库存放的是实体之间的关系


###SQL的分类

DDL:数据定义语言
create,drop,alter

DCL:数据控制语言
grant,if...

DML:数据操纵语言
insert,update,delete

DQL:数据查询语言
select

##使用SQL
###数据库
```html
创建
create database 数据库名称 [character set 字符集 collate 字符集校对规则;]
Java中的类型                    MySQL中的类型

    byte/short/int/long                    tinyint(tiny<微小的>)/smallint/int/bigint        
    float                            float
    double                            double
    boolean                        bit(一般用1和0来表示true和false)
    char/String                     char 和varchar类型
    Date                             date/time/datetime/timestamp
    file                             BLOB(mp3文件)/TEXT(代表的是文件路径组成的字符串)                    

char(固定长度)
varchar(可变长度)

timestamp如果没有向这个字段传入具体的值,那么返回的是**当前系统的时间

```
##约束
主键约束:primary key 主键约束默认唯一非空 auto_increment(自动增加)   
唯一约束: unique
非空约束: not null

###对表的操作
```html

添加列
   alter  table 表单名 add   字段名  数据类型(长度) 约束
修改列类型
   alter table  表单名  modify(修改)  列名  数据类型(长度) 约束
删除列
   alter table 表单名 drop 列名;
修改列名称
   alter table 表单名 change  旧列名   新列名 类型(长度)  约束
修表名
   rename  table 表单名 to 新的表名

修改字符集
alter table 表名  character set 字符集

```
```
创建
   create  database 数据库名称;
查询(重点)
   show databases;
   show create database 数据库名称;
删除
   drop database 数据库名称;
修改
   select database 数据库名称;
   alter database  数据库名称 character set utf8;   修该数据库字符集格式
切换
   use 数据库名称;
   select database();   查看当前操作的数据库
```

##顺序
```
where的子句后面不能跟着聚合函数。如果现在使用带有聚合函数的条件过滤(分组后条件过滤)需要使用一个关键字having
select product,sum(price) from orderitem  group by product having sum(price) > 5000;


总结:
S(select)… F(from)…W(where)…G(group by)…H(having)…O(order by);

```

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马