回顾mysql中的常用知识点
上图为win版本启动关闭服务方式。
连接mysql命令:mysql -u alex -p
查看所有数据库:show databases;
use db_name ;切换数据库
show tables; 显示所有表
select * from 表名;
select name,age,id from 表名;
连接:
默认:用户root
创建用户:
create user 'alex'@'192.168.1.1' identified by '123123';  identified 设置密码
create user 'alex'@'192.168.1.%' identified by '123123';  %代表任意
create user 'alex'@'%' identified by '123123';  所有ip
用户管理
创建用户
create user '用户名'@'IP地址' identified by '密码';
删除用户
drop user '用户名'@'IP地址';
修改用户
rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
修改密码
set password for '用户名'@'IP地址' = Password('新密码')
PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
授权
权限    人
grant 权限
grant select,insert on db1.t1 to 'alex'@'%' ;
设置alex只能查看db1数据库的t1表  
grant all privileges on db1.t1 to 'alex'@'%' ;
alex除了grant以外的所有权限都可以
revoke all privileges from db1.t1 to 'alex'@'%' ;
取消这条权限
show grants for '用户'@'IP地址'                  -- 查看权限
grant  权限 on 数据库.表 to   '用户'@'IP地址'      -- 授权
revoke 权限 on 数据库.表 from '用户'@'IP地址'      -- 取消权限
SQL语句规则
操作文件夹(操作数据库)
create database db2;
create database db2 default charset utf8; 数据库默认utf8
show databases;
drop database db2;
操作文件(操作表)
show tables;
create table t1(id int,name char(10)); 创建表,id,name字段,name限制10
个字符,超出取前十个。
create table t1(id int,name char(10)) default charset=utf8; 表默认是utf8
create table t1(
    #列名,类型,null,
    #列名,类型,not null,不可以为空
    #列名,类型,not null,default 1,
    #列名,类型,not null,auto_increment,自增
    id int,
    name char(10)
) engine=innodb default charset=utf8; 表默认是utf8,引擎默认是innodb
select * from t1;
innodb 支持事务,可以回滚,原子性操作。
myisam 不支持事务
auto_increment 表示:自增
primary key:表示,约束(不能重复,且不能为空);加速查找,
一个表里只能有一个自增列,只能有一个主键。但是主键不一定是一行。
清空表:
delete from t1; 清空表,新增数据的自增id从之前的接着。
truncate table t1;清空表,自增id从头开始。
删除表:
drop table t1;
查看表结构以及类型:
desc tabename;
查看表是如何创建的:
show create table  tablename;
show create table  tablename \G; 加一个\G 可以去掉空格
自增:
通过命令 更改下次插入数据时,自增ID的值:
alter table tablename AUTO_INCREMENT=13;更改下次插进来数字,自增主键为13
mysql中自增的步长
操作文件内容(操作内容)
插入数据:
insert into t1(id,name) values(1,'egon');
删除数据:
delete from t1 where id<6
修改:
update t1 set age=18; 将age列全部修改为18
update t1 set age=18 where age=17; 将age为17的改为18
查看数据:
select * from t1;
create table t3(id int auto_increment primary key,name char(10)) default charset=utf8;  设置id为主键 并自增。
insert into t3(name) values('abcdef');  所以插入数据的时候只需要插入name字段即可。
数据类型
数字
tinyint 
int
unsigned 表示创建表的时候字段属性没有符号(比如负号)
signed 表示有符号的
bigint
以上三种就是长度的区别
FLOAT
只能表示不太精准的小数,如果长度不大,可以使用
DOUBLE
只能表示不太精准的小数,如果长度不大,可以使用
decimal
该类型小数非常精准,因为内部原理是将长的小数按字符串存储的。
decimal(10,5)  10代表总位数,5代表小数点后几位
bigint支持的数字的大小范围为:
19位,存电话号码等。
有符号范围:-9223372036854775808 到 9223372036854775807
int支持的数字范围为:
10位,
有符号范围:-2147483648 到 2147483647   
无符号范围:0-4294967295
字符串
char(10)
    如果字符没有占满,则会自动填充至10个字符,比如填充空格
varchar(10)
    如果没有填满,在硬盘中只会占用实际字符长度,节省空间,查找速度没有char快11
char和varchar最高只能存储255个字符
text可以存储65535个字符
如果更多的内容,需要写到文件中,将路径写到数据库。
优化建议:创建表时,将定长的数据往前放,变长的往后放。
时间类型
DATETIME
枚举
enum
相当于给插入数据的时候规定了一个选项
单选字符串数据类型,适合存储表单界面中的“单选值”。
设定enum的时候,需要给定“固定的几个选项”;存储的时候就只存储其中的一个值。
设定enum的格式:
enum("选项1","选项2","选项3",...);
实际上,enum的选项都会对应一个数字,依次是1,2,3,4,5...,最多有65535个选项
使用的时候,可以使用选项的字符串格式,也可以使用对应的数字。
SET规定,只能插入a,b,c,d的任意组合
  多选字符串数据类型,适合存储表单界面的“多选值”。
设定set的时候,同样需要给定“固定的几个选项”;存储的时候,可以存储其中的若干个值。
设定set的格式:
set("选项1","选项2","选项3",...)
同样的,set的每个选项值也对应一个数字,依次是1,2,4,8,16...,最多有64个选项
使用的时候,可以使用set选项的字符串本身(多个选项用逗号分隔),也可以使用多个选项的数字之和(比如:1+2+4=7)
=====================================================================================
外键
create table userinfo(
uid bigint auto_increment primary key,
name varchar(32),
department_id int,
constraint fk_user_depart foreign key ("department_id",) references department('id')   #外键约束
)engine=innodb default charset=utf8;
create table department(
id bigint auto_increment primary key,
    title char(15)
)engine=innodb default charset=utf8;
外键的名字,上面标红处不能与别的外键重名,建议用表_表这种起名
主键:
上图为主键的两种写法。
一个表只能有一个主键,主键可以由多列组成。

转载于:https://www.cnblogs.com/ArmoredTitan/p/8492159.html

mysql知识点回顾(一)相关推荐

  1. 【直播】李祖贤:集成学习答疑直播之八-- 集成知识点回顾与补充

    集成学习答疑直播之八-- 集成知识点回顾与补充 集成学习是首个横跨3个周期的长期组队学习,在第25期组队学习中进行到"第三期-模型融合与数据实战"阶段.组队学习期间,课程设计者每周 ...

  2. 【运筹学】线性规划数学模型 ( 知识点回顾 | 可行解 | 最优解 | 阶梯型矩阵 | 阶梯型矩阵向量 | 基 | 基向量 | 基变量 | 非基变量 )

    文章目录 一.知识点回顾 1.线性规划三要素 2.线性规划一般形式 3.线性规划标准形式 二.线性规划解.可行解.最优解 三.阶梯型矩阵 四.阶梯型矩阵向量 五.基.基向量.基变量.非基变量 一.知识 ...

  3. python_day02 上节课知识点回顾

    上节课知识点回顾: 1.python3和python2多版本共存问题 注:需要复制python36和python27目录下的python.exe后重命名,复制scripts下的pip.exe后重命名 ...

  4. 前端知识点回顾——HTML,CSS篇

    前端知识点回顾篇--是我当初刚转行为了面试而将自己学过的前端知识整理成的一份笔记,个人目的性很强,仅供参考. doctype 有什么用 doctype是一种标准通用标记语言的文档类型声明,目的是告诉标 ...

  5. 线性代数相关知识点回顾

    线性代数相关知识点回顾 矩阵的转置 矩阵的逆 特征值与特征向量 矩阵的秩 正交阵 相似矩阵与相似对角化 特征子空间 矩阵的转置 (AB)T=BTAT 矩阵的逆 AB=BA=E,则B=A-1 若矩阵A可 ...

  6. 零基础Python知识点回顾(一)

    如果你是小白,建议只要安装官网的python-3.7.0-amd64.exe 然后在电脑cmd命令提示符  输入检查是否已经安装pip,一般安装了python都会有的. >pip         ...

  7. 微积分知识点回顾与总结(八):重积分

    微积分知识点回顾与总结(八):重积分 1.二重积分 1.1二重积分重要的性质 1.2 计算方法 1.2.1直角坐标法 1.2.2极坐标法 2.三重积分 2.1三重积分重要的性质 2.2 计算方法 2. ...

  8. 微积分知识点回顾与总结(十):级数

    微积分知识点回顾与总结(十):级数 常数项级数 1.1. 正项级数及其审敛法 1.2. 交错级数及其审敛法 1.3绝对收敛与条件收敛 幂级数 2.1 阿贝尔定理(Abel) 2.2收敛半径与收敛域 2 ...

  9. 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(五)——其他重点内容

    复试所涉及的科目 随机问题 1.过程控制与运动控制的区别? 2.√ 模拟电子技术与数字电子技术的区别? 3.√√ I2C和SPI的区别? 4.推挽输出与开漏输出的区别? 5.√ 可编程逻辑器件与微机的 ...

最新文章

  1. golang 指定范围 生成随机数
  2. c语言编写贪吃蛇代码无错,刚学C语言,想写一个贪吃蛇的代码
  3. 【GIS导论】实验三 数据处理
  4. TankGame1.0
  5. 客户信息管理系统(java)
  6. Bootstrap如何设置table样式
  7. Android音视频——H265编码核心技术解析
  8. 如何选择好的上海自媒体招聘平台
  9. ‘Staring Tomcat v8.0 Server at localhost ’ has encountered a problem 问题解决
  10. 操作系统语言包在c盘哪里,win10系统通过卸载语言包释放c盘空间的具体教程
  11. 如何制作电子文档CHM(How to gernerate chm from assembly)
  12. Linux之宝塔面板安装和使用
  13. Python之turtle库画各种有趣的图及源码(更新中)
  14. 小米10至尊纪念版和Redmi K30至尊纪念版的区别 哪个好
  15. 汇编语言-中括号-mov指令-cmp指令-lea指令
  16. 卢松松:百度凤巢系统知道推广功能上线
  17. 动态路由器(2)链路状态路由协议:OSPF第一部分
  18. 使用tld文件自定义jsp标签库
  19. English Names of Ordinary Chinese Food 常见中国食品英语名称
  20. kali更新源+系统更新——kali安装后第一个步骤

热门文章

  1. MySQL 数据库sql命令查询被锁的表实例演示,mysql的锁表与解锁,mysql强制解锁杀掉进程,mysql查询锁表一直转圈
  2. CTFshow 信息收集 web12
  3. 第八周实践项目4 字符串加密
  4. [YTU]_1063 (输入三个整数,按由小到大的顺序输出)
  5. java中substring函数
  6. (二)图像处理技术概述
  7. python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05...
  8. ios浏览器不支持onblur事件
  9. vue+webpack (vue-cli + vuex + vue-resource + vue-router) web工程搭建
  10. 基于Ubuntu Hadoop的群集搭建Hive