文章目录
数据库的基本概念
数据库(database),简称DB。
概念:
- 用于存储和管理数据的仓库。
特点:
i. 持久化存储数据的,其实数据库说白了就是一个向我们电脑的一个文件系统。
ii.方便存储和管理数据。
iii.操作是用统一的方式 —sql语句
配置
MySQL 服务启动
1.手动。
https://blog.csdn.net/qq_43674360/article/details/105242325
2.cmd services.msc 打开服务窗口。同一 。(相对快一点)
3.使用管理员打开cmd
net start mysql :启动mysql 服务。
net stop mysql :停止服务。
注意:这里的mysql 是服务里面下面名字,比如我的服务名没改是mysql57 .看下图。
则启动命令就是:
net start mysql57
这里一定要注意这个细节。
mysql 命令窗口登录。
输入 :mysql -u root -p
退出命令:
1.exit (很多程序软件的一下相关的命令都是相同的,exit 译为逃走,不想写了就走哈哈)
2.quit (停止 )
SQL 介绍
structured query language 结构化查询语言。
顾名思义 ,就是定义操作所以关系型的数据库的规则,每一种数据库的操作方法都存在不一样的地方。 称为“方言”。
sql 语句语法规则
1.sql 语句可以单行或者可以多行,以分号结尾。
看下:
这个是单行的,只要不已分号结尾,看下
2.可以使用空格和缩进来增强语句的可读性。
3.mysql 数据库的 sql语句不区分大小写,关键字建议使用大写。
4. 3种注释。
i . 单行注释: – 注释内容。 或 # 注释内容(mysql特有)
ii. 多行注释:/* 注释内容 */
sql 分类
这些网上都有,只看你怎么记忆。
1.DDL (date definition language )数据定义语言
2.DML (date manipulation language) 数据操作语言
3. DQL (data query language ) 数据查询语言
4. DCL (data control language )数据控制语言。
DDL: 操作数据库,表
1.创建数据库:
create database [database name] ;
创建数据库 ,判断不存在,再创建:
create database if not exists [database name];
创建数据库,并指定字符集
create database [datebase name] character set 字
符集名称。
2.查询所有数据库名称:
show databases ;
3.修改 数据库的字符集
alter 数据库名称 character set 字符集名称;
4.删除数据库
drop database 数据库名称;
判读数据是否存在,再删除,
drop database if exists 数据库名称;
5.查询当前正在使用的数据库名称 当前为空null,下面用use 来改变。
select database ();
使用数据库
use 数据库名称 ;
操作表
1,语法:
create table 表名(
列名1, 数据类型1,
列名2, 数据类型2,
…
);
数据类型 :
1,int :整数类型
age int,
2.double:小数类型
score double (4,2);
3,date :日期 ,
4.datetime :日期 包含年月时分秒 yyyy-mm-dd hh:mm:ss
5,timetamp 时间错类型 。同4,但是如果将来补个这个字段赋值,或赋值为null,则默认当前系统时间。
6.varchar :字符串。
name varchar(20);
zhangsan 8个字符,张三 2个字符,
创建表
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
复制表:
create table 表名 like 被复制的表名;
1.查询某个数据库中所有表名
show tables;
查询表的结构;
desc 表名;(这个很重要,怎么记忆呢?首先讷,d e代表data table ,sc 代表目录结构。连接起来就是数据表的结构搜寻 :)
修改
修改表名
alter table 表名 rename to 新的表名;
查看student2;
修改表的字符集
alter table 表名 character set 字符集类型;
添加一列
alter table 表名 add 列名 数据类型;
修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型;
删除列
alter table 表名 drop 列名;
删除
drop table 表名;
drop table if exists 表名;
DML :增删改表中的数据
1.添加数据
语法 :
insert into 表名(列名1,列名2,…) values(值1,值2,…);
提示:
i.列名和值要一一对应。
ii. 如果表名后不定义列名,则默认给所有列添加值。
insert into 表名 values (值1,,,,)
3.除了数字类型,其他类型需要使用引号(这里单双都可)引起来。
2.删除数据:
语法
delete from 表名 where 条件
提示:
1.如果不加条件的话,则删除表中所有记录。
2.如果要删除所有记录,
i. delete from 表名; 不推荐使用,
ii. truncate table 表名 ;推荐(释放空间,不回滚)
####### 3.修改数据:
语法:
update 表名 set 列名 =值1 ,列名=值2,,,[where 条件];
DQL :查询表中的记录
select * from 表名;
1.语法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit by
分页限定
一般查询
2.条件查询
1.where子句后跟条件
2.运算符
>, <, <=, >=, =, <>(不等于)
不等于:<> 或 !=
BETWEEN AND 字面意思,包头又包尾
IN 集合,表示多个值,使用逗号分隔
LIKE'张%' 模糊查询
IS NULL 查询某一列为NULL的值,注:不能写成=NULL
and(推荐使用) 或 && 且
or 或 | | 或
not 或 ! 非
比如:
3模糊查询(重点)
```sql
LIKE:模糊查询
占位符:
_:单个任意字符
%:多个任意字符
例如:
查询姓张的人有哪些
select * from user where username like '张%';
查询姓名第二个字是三
select * from user where username like '_三
%';