数据库等价于数据仓库 但是数据仓库不等价于数据库
mysql要安装在本地所以为c/s架构 客户端服务器
页游 b/s 浏览器付服务器
关系型数据库sql rdbms 与非关系型数据库2种
sql 结构化的查询语言,关系型数据都要遵守规范 规范(破通话) 特点(方言)
数据库与数据表 (行列表格的形式进行储存)
连接方式:
命令行方式: mysql -h数据库服务端ip -P数据库服务的端口 -u用户名 -p密码
-p后直接回车 可以隐藏式输入密码
mysql -u -p 只可连接本地
第三方软件连接 ip 端口号 用户名 密码
SQL 快速执行的快捷键 ctrl 回车
每句结束后记得写;
库,表,表数据的增删改查
DDL:数据定义语言 定义数据库 表 列&
DML:数据操作语言 数据库表记录的&
DQL!!!!! 数据库查询语言&
DCL:数据控制语言 定义数据库的访问权限核安全级别 创建用户
语法:
一条SQL可以单行或多行书写;分号结尾
不区分大小写
注释/* */ -- #
ctrl / 注释
ctrl alt l 格式化
ddl 操作:
创建数据库
create database 数据库名称;
create database IF NOT exists 数据库名称 charset="utf8"
查看所有数据库:
show databases;
使用某个数据库: 切换数据库
ues 数据库命;
删除数据库 一般不删除:
drop database 数据库名;
查看正在使用的数据库:
select database();
创建表: create table 表名 (
字段1 类型 [约束,可有没有 ] cnmment '字段注释在左侧栏能看到' ,
字段2 类型 [ ] cnmment '字段注释在左侧栏能看到'
)comment '表注释';
删除表:
drop table 表名;
查看所有的表:
shou tables;
查看表结构
desc 表名;
重命名表格:
rename table 旧表名 to 新表明;
接下来就是表内啦:操作字段
给表增加一个新的字段:
alter table 表名 add 新字段名 类型;
若增加的新字段名是关键字名:
在新字段名上写上 `` 上个点
alter table 表名 add `新字段名` 类型;
修改字段名:
alter table 表名 change 旧字段名 新字段名 类型;
删除字段:
alter table 表明 drop 字段名;
sql 的数据类型:
varchar(20) 动态的 不到20 的话不占20
char(20) 不到20 直接占20
decimal(5,2) 表示共存5 小数点后保存2
ddl 数据约束
字段类型后面的[约束条件]
主键 primary key 唯一 且不为空 每个表应该有一个主键 且每个表只能有一个主键
非空 not null (写到修饰字段后面) 修饰字段不能为空 如果填写空就报错了 如果输入的是""空字符串可以成功
唯一 unique 设置的唯一约束 字段值不能重复
默认值 : default 当我们没有传入数据时自动给我们设置好的值 字段后面写 default" " 类似cnmment""
删除主键 alter table 表名 drop primary key 就可以删除主键了
自增关键字 只修饰键 与 整形
creat table 表名(
id int primary key aut_increment,)
用法:我们向自增字段添加null ,0,不添加数据,都会触发增
主键自增字段可以插入指定的值,不能重复
主键自增的计算规则是当前列的最大基础上+1
使用delete from 表名;不会删除自增最后的结果
使用truncate table 表名 删除的会重置主键的自增序列
dml 操作:
表内数据的插入:
insert into 表名 value(按字段顺序依次填写中间用逗号隔开,且类型相同),(),(); k可也多个用逗号隔开
选定字段插入值
insert into 表名(字段名1,字段名2) value(只有数字不用引号),();
如果要插入空值 可以不插入此字段 也可以写null
更新表记录:
# 更新所有行
update 表明 set 修改方式 eg set age = 18; 将所有的年龄变为18
# 根据条件修改
update 表名 set 需修改方式 where 修改范围; 例如 修改范围 address = ""
删除表记录:
ddl 密码删除时drop 除此以外全是delete
# 条件删除
delete from 表名 where 删除范围;
# 无条件删除 也就是删除整张表中的数据结构还在
delete from 表名;
使用delete from 表名;不会删除自增最后的结果
使用truncate table 表名 删除的会重置主键的自增序列
dql 数据查询语言 :
简单查询:
select * form 表名; *为所有字段
查询指定字段
select 要返回的字段.1 字段2 ... form 表名;
select *from 表名; 后修改*为字段会有提示
查询指定字段并且起别名: 其中as 可以省略
select 字段 as"小明", 字段 as "小明" from 表名;
条件查询:
select * form 表名 where 条件;
筛选条件 之 比较查询
< > = <=>= ! =
select* from 表名 where 字段>xxx;
筛选条件之 连续范围查询: between 值1 and 值 2 包左包右
select* from 表名 where 字段 between 值1 and 值2;
筛选条件之 不连续范围查询:
select* from 表名 where 字段 in (值1,值2...) 判断字段内是否有 20 30 的 有则留\not in 也可以
条件查询之 模糊查询:
where 字段名 like 规则;
规则1: % 代表任意多个字符 '%像%' 字符中有像
规则2: _ 代表一个任意字符 '像__' 像开头的3个字符
'像%'像开头的
条件查询之非空查询:
空字段不能使用比较运输 进行筛序,帅选不出来
得用is null 判断是 空则保留 is not null
where 字段名 is null;
where 字段名 is not null
条件查询之逻辑查询:
and :逻辑与
or
not != not 后条件最好加一个括号
注意字符串用单引号不会报警告!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!