mysql-从头开始学 精心记录细节 一起学习吧!
请先点击我看是否是想要获取的内容----我会持续更新
这篇是我个人重新学习mysql的学习笔记(从基础开始),也希望分享给想一起学习的伙伴!也欢迎大佬指出错误!我会及时改正!不喜勿喷!
每天会坚持更新哦!~
后面也可能会分享操作系统和java的学习笔记!喜欢就给个关注吧~!
mysql查询语句已经更新到另外一个文档
有需要请点击mysql学习计划之查询语句
常用基本数据类型
int() 整数类型
double 浮点数
date 年月日
time 小时分钟秒
datetime 年月日小时分钟秒- -
char() 括号填入最大字节长度(长度不可变)
varchar() 括号填入最大字节长度(长度随数据改变而改变)
enum枚举类型 属性名 enum(值1,值2....值n) 选取其中一个值
set类型 属性名 set(值1,值2....值n)选取其中一个或多个值
text 存储纯文本数据
blob 存储二进制或图片
以后再慢慢继续补充啦
mysql–数据库操作
show DATABASEs;#查看数据库列表
CREATE DATABASE studytest;#创建数据库
DROP DATABASE studytest;#删除数据库
desc teachers;#显示表得细节
show create table teachers;#查看创建表的sql语句
这里相对很基础我就不放图片啦~
表操作
先介绍一下mysql约束条件
主键,关键字 :primary kye,该字段能唯一标识表中每条信息。
单字段主键: 属性名 数据类型 primary key
多字段主键:primary key(属性名1,…属性名n) 有多个属性组合唯一确定一条记录。
#新建老师表格 学科ID设置为主键
create table subject(
subject_id int primary key,
subject_name VARCHAR(20)
)
外键,CONSTRAINT 外键别名 foreign key(属性) references 表名(属性)
#创建teachers表 关联subject表
create table teachers(
subject_id int PRIMARY KEY,
NAME VARCHAR(10) NOT NULL,
age INT,
CONSTRAINT c_fk foreign key(subject_id)
references subject(subject_id)
);
非空约束 关键字: not null ,不输入此字段会报错
唯一性约束 关键字: unique,此字段值不能重复
自动递增 关键字:auto_increment 只能有一个字段有次约束,只能是整数类型,次字段会自动递增
设置默认值 关键字 fefault; 属性名 属性结构 default 默认值
创建、修改删除表
创建新表
创建表的语法:
create table 表名(属性名 数据结构 约束条件,
属性名 数据结构 约束条件,
...
属性名 数据结构 约束条件
);
修改表名
alter table 旧表明 rename to 新表名;
修改字段的数据类型
alter table 表名 modify 属性名 数据类型;#数据类型是修改后的数据类型。
修改字段名
alter table 表名 change 旧属性名 新属性名 新数据类型;#新数据类型若不更改可不写
增加字段
alter table 表名 add 属性名1 数据类型[完整约束条件] [first |after 属性名2];
#first则添加在首位 after 属性名则添加在属性名2后 都无则默认最后
删除字段
alter table 表名 drop 属性名;
修改字段的排列位置
alter table 表名 modify 属性名1 数据类型 first | after 属性名2;
删除表的外键约束
alter table 表名 drop foreign key 外键别名;
基本查询语句
SELECT 属性列表 FROM 表名
WHERE 条件表达式1
GROUP BY 属性名1 HAVING 条件表达式2
ORDER BY 属性名2 ASC|DESC
其中,“ 属性列表”参数表示需要查询的字段名:“表名和视图列表” 参数表示从此 处指定的表或者视图中查询数据,表和视图可以有多个;“条件表达式 1”参数指定查询 条件;“属性名1”参数指按该字段中的数据进行分组;“条件表达式2” 参数表示满足该表达式的数据才能输出;“属性名2”参数指按该字段中的数据进行排序,排序方式由ASC和DESC两个参数指出: ASC参数表示按升序的顺序进行排序,这是默认参数: DESC参数表示降序的顺序进行排序。
查询所有字段
SELECT *|所有字段名 FROM tablename;
查询条件 关键字Where
SELECT * | 指定字段名 FROM tablename WHERE 查询条件(如ID = 1001);
查询条件:
IN关键字查询
SELECT * From tablename WHERE ID IN (1001,1004...);#满足括号里条件的将都会被查询出