MySQL入门基础一
2020-08-26 15:26:10 0 举报
MySQL
作者其他创作
大纲/内容
基本语法
SQL分类
DQL:数据查询语言 。select 相关语句。DML:数据操作语言。insert 、update、delete 语句。DDL:数据定义语言。create、drop、alter 语句。TCL:事务控制语言 。set autocommit=0、start transaction、savepoint、commit、rollback
3.MySQL权限管理
日期类型:DATE: 3个字节 1000-01-01 ~ 9999-12-31 YYYY-MM-DDTIME: 3个字节 '-838:59:59' ~ '838:59:59' HH:MM:SSYEAR: 1个字节 1901 ~ 2155 YYYYDATETIME:8个字节 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SSTIMESTAMP: 4个字节 1970-01-01 00:00:00 ~ 2038-1-19 11:14:07 YYYY-MM-DD HH:MM:SS
库的管理
Year
常量语法
批量插入
bool
注意:当我们表中某个字段的某行记录的值为NULL时,并且我们通过该字段的值来作为查询条件。我们的查询运算符,like , bwteeen and , in , not in对null是不。对于NULL我们又如下关键字:IS NULL(返回值为空的记录): select 列名 from 表名 where 列 is null;IS NOT NULL(返回值不为空的记录):select 列名 from 表名 where 列 is not null;还有一种方式可以判断null值:<=> 安全等于 ,如 select * from t where a <=> null;
decimal
关键字like
select
分页
alter table 表名 add column 列名 类型 [列约束];
表设置备注
drop table [if exists] 表名;
span style=\"font-size: inherit;\
select 表达式;
delete
2.MySQL数据类型
查询所有列
truncate
=
删除库
DML
define
bit
alter table 表名 comment '备注信息';
删除数据操作
列别名
创建表
7.MySQL常用的一些个函数
not null:标识该字段不能为空
select 列 [as] 别名 from 表;双引号创建别名: select a \"列1\
manipulate
控制流函数
Time
blob类型(用于存储二进制数据的类型):tinyblob: 2^8 - 1字节 , 所需空间 L + 1blob: 2^16 - 1 字节,所需空间 L + 2mediumblob: 2^24 - 1字节,所需空间 L + 3longblob: 2^32 - 1字节,所需空间 L + 4注意:后面多出来的字节都是用来存当前空间大小的text类型用于存储纯文本信息,所占空间大小与blob规则相同。
修改列
别名
5.对数据库表内容操作DML
TimeStamp
alter table 表名 drop column 列名;
数据管理
6.数据库查询相关(DQL)
3.字符类型:关于char和varchar的总结:区别1:char是固定字符,varchar是可变字符。所谓固定就是我们自定char(10)说明char的所占字节就为10byte,如果我们给该char(10)变量赋值时,如果不足10byte剩余的地方补上空格,超过10byte截取超出部分。所谓可变字符就是我们varchar(20)说明该它所占的字符最大为20byte不足的剩余部分不会占空间,超出部分截取。需要注意的是varchar变量计算所占字节空间时需要加上1个byte该字节用来存字符串长度。区别2:char是固定的字符串所以运行的效率较高,而varchar为可变的字符串,当我们原本分配的空间地址不足时,可能需要重新取一块新的空间进行分配,此过程是比较耗时的,并且分配过程中空能会产生一些内部碎片,后期需要进行处理。注意点:我们所说的varchar分配空间是可变的,并且所占用的空间就是当前所指定字符字节数加1,这里的空间是磁盘中的空间,而我们在内存中实际还是取的varchar最大可变空间+1的。所以我们指定varchar最大可占字节时需要注意,并不是说越大越好。
添加列
select条件查询
用户
DDL
1.整数类型所占字节数或位数:bit:1位 bool:1位 tinyint : 1个字节 smallint:2个字节 mediumint:3个字节 int:4个字节 bigint:8个字节2.浮点类型:float:4字节 double:8字节 span style=\"font-size: inherit;\
查询函数
关键字in
1.MySQL基础
MySQL中通过主机ip加用户名来唯一标示一个用户
alter table 表名 modify column 列名 新类型 [约束];alter table 表名 change column 列名 新列名 新类型 [约束];
用户名
Date
......
char
BETWEEN AND(区间查询)
drop databases [if exists] 库名;
tinytext/text/mediumtext/longtext
创建库
select 列名 from 表名 where 列 运算符 值
4.常见数据库操作
tinyint/smallint/mediumint/int/bigint
连接请求
字符型
其他型
order by
主机
判断是否有操作权限
整数型
DateTime
关于操作用户表的一些基本命令
truncate 表名;(清空真整个表内容)
删除表
字符串函数
表管理
表达式
分组
query
limit
排序
复制表
MySQL语言规范:不区分大小写,但建议关键字大写,表名、列名小写每条命令最好用英文分号结尾每条命令根据需要,可以进行缩进或换行注释 单行注释:#注释文字 单行注释:-- 注释文字 ,注意, 这里需要加空格 多行注释:/* 注释文字 */
日期函数
单表更新
关于用户权限的一些建议
group by
关于 drop , delete ,truncate:drop:删除表中所有内容,并且删除表结构delete:删除表中单行或多行记录truncate:删除整个表的内容删除但是不会删除表结构
delete [别名] from 表名 [[as] 别名] [where条件];
alter table 表名 rename [to] 新表名;
select 函数;
用户及权限信息放在库名为mysql的库中,mysql启动时,这些内容被读进内存并且从此时生效,所以如果通过直接操作这些表来修改用户及权限信息的,需要重启mysql或者执行flush privileges;才可以生效。用户登录之后,mysql会和当前用户之间创建一个连接,此时用户相关的权限信息都保存在这个连接中,存放在内存中,此时如果有其他地方修改了当前用户的权限,这些变更的权限会在下一次登录时才会生效。
删除列
关于DATETIME 和 TIMESTAMP的总结:两者都能表示日期时间并且可以精确到秒,前者占8个字节后者占4个字节。DATETIME 不会随着系统时区改变而改变,而TIMESTAMP会随着系统时区的改变而更新时间值。TIMESTAMP在系统改变时区的时候时间值会调整,调整时需要加上锁,此过程非常耗时。
transaction control
tinyblog/blob/mediumblob/longblog
其他函数
浮点型
+
日期型
MySQL权限验证的过程
字段查询
数据更新
关于用户权限的有效时机
修改表名
select 查询的列 from 表名;
JAVA对应的MySQL类型
DQL
1.尽量给用户最小的权限2.删除系统中无密码的权限3.将一些用户设置为内网ip4.用户密码尽量复杂
数值类型
DB : 数据库DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DBSQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件持有的,而是几乎所有的主流数据库软件通用的语言。
TCL
建库通用的写法:drop database if exists 旧库名;create database 新库名;
表别名
float
插入操作
用于模糊查询:select 列名 from 表名 where 列 like pattern; (pattern正则表达式)pattern中可以包含通配符,有以下通配符:%:表示匹配任意一个或多个字符_:表示匹配任意一个字符。
create database [if not exists] 库名;
表中列的管理
单行插入
最常用得数据指令:登录:mysql -h IP地址 -P 端口 -u 用户名 -p 密码查看数据库版本: mysql --version:用于在未登录情况下,查看本机 mysql版本: select version():登录情况下,查看链接的库版本:显示所有数据库:show databases;进入指定的库:use 库名;显示当前库中所有的表:show tables;查看其他库中所有的表:show tables from 库名;查看表的创建语句:show create table 表名;查看表结构:desc 表名;
NULL
相关约束
double
version\t数据库版本号database\t当前的数据库user\t当前连接用户password\t返回字符串密码形式md5\t返回字符串的md5数据
select * from 表名;
五大类型
判断是否有连接权限
varchar
0 条评论
下一页