logo资料库

MySQL数据库操作指令.pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
MySQL数据类型
MySQL数据库知识点 作者:CC MySQL数据库操作指令 数据库 登录数据库: 退出: 插⼊入.sql⽂文件进⼊入数据库: 数据库相关的SQL mysql -uroot -p exit source ⽂文件路路径 功能 命令格式 序号 1 查看所有数据库 show databases; 2 创建数据库 3 删除数据库 4 查看数据库详情 show create database 数据库名称; creat database 数据库名称; drop database 数据库名称; 5 创建数据库指定 字符集 6 使⽤用数据库 create database 数据库名称 character set utf8/gbk; use 数据库名称; 示例例 show databases; creat database cc; drop database cc; show creat database cc; create datebase cc1 character set gbk; use cc; 命令格式 示例例 5 查看表字段信息 desc 表名; 第 ⻚页1 表相关SQL 序号 序号 功能 1 创建表 2 查看所有表 3 查看表详情 4 创建表指定引擎 和字符集 create table 表名(字段1名 字段1类型, 字段2名 字段2类型,……); show tables; show create table 表名; create table 表名(字段1名 字段1类型, 字段2名 字段2类型,……) engine=innodb/myisam charset=gbk/ utf8; create table person(name varchar(5),gender varchar(5),age int,salary int); show tables; show create table person; create table t1(name varchar(5),age int) engine=myisam charset=gbk; desc person;
作者:CC 序号 功能 命令格式 6 修改表名 rename table 原名 to 新名; 7 修改表引擎和字 符集 alter table 表名 engine=myisam/innodb charset=gbk/utf8; 8 添加表字段(第 ⼀一种添加到最 后) 添加表字段(第 ⼆二种添加到最 前) 添加表字段(第 三种某个后) 9 删除表字段 10 修改字段名称和 类型 11 修改字段类型和 位置 12 删除表 13 重建表 alter table 表名 add 字段名 字段类型; alter table 表名 add 字段名 字段类型 first ; alter table 表名 add 字段名 字段类型 after 已有字段名 ; alter table 表名 drop 字段名 alter table 表名 change 原字段名 新字 段名 新类型; alter table 表名 modify 字段名 新类型 first/after xxx; drop table 表名; truncate table 表名 MySQL数据库知识点 示例例 rename table person to t_person; alter table t_person engine=myisam charset=gbk; alter table t1 add gender varchar(5); alter table t1 add id int first; alter table t1 add sal int after age; alter table t1 drop sal; alter table t1 change name name varchar(6); alter table t1 modify name varchar(5) after age; drop table t1; 数据相关SQL 序号 序号 功能 1 插⼊入数据 命令格式 全表插⼊入insert into 表名 values(字段1 内容,字段2内容……) 指定字段插⼊入insert into 表名 (指定字 段) values(指定字段内容) 全表批量量插⼊入insert into 表名 values (字 段1内容,字段2内容……),(字段1内容, 字段2内容……),(字段1内容,字段2内 容……); 指定字段批量量插⼊入insert into 表名 (指定 字段) values(内容1),(内容2),(内容3); 示例例 insert into hero values(1,’Tom’,’Man’) insert into hero (name,gender) values(‘张 ⻜飞’,’男’); insert into hero values(5,'唐僧','男'),(6,'悟 空','男'),(7,'⼋八戒','男'); insert into hero (name) values(‘李李雷雷’),(‘韩梅梅梅梅’), (‘lucy’); 第 ⻚页2
作者:CC MySQL数据库知识点 序号 功能 命令格式 示例例 2 查询数据 3 修改数据 4 删除数据 select 字段信息 from 表名 where 判断 条件(如 id<5) update 表名 set 字段=内容 判断条件 (如 id=1) delete from 表名 where 判断条件 select* from hero; update hero set gender=‘⼥女女’ where id=1; delete from hero where name=‘张⻜飞’; 主键约束、⾃自增、注释、`与单引号的区别 序号 名称 功能 格式 示例例 1 主键约束 2 主键约束 +⾃自增 主键:⽤用于表示数据唯 ⼀一性的字段 约束:对表字段的值添 加限制条件 主键约束:保证主键的 值唯⼀一并且⾮非空 使主键数值⾃自增,⾃自增 数值只增不不减,从历史 最⼤大值的基础上+1 (添加数据到表中的时 候将对应主键的内容添 加为null即可实现⾃自 增) create table 表名(字段1 字段类 型 primary key,字段2 字段类 型……); create table t1(id int primary key,name varchar(10)); create table 表名(字段1 字段类 型 primary key auto_increment, 字段2 字段类型……); create table t2(id int primary key auto_increment,nam e varchar(10)); 3 4 comment 注释 create table t3(字段名 字段类型 primary key auto_increment comment ‘这是个主键',字段名 字段类型 comment '这是名字'); `和单引 号的区 别 `:⽤用于修饰表名和字段名 ':于修饰⽂文本 5 ⾃自增清零 truncate table t2; //删除表并创建新表 ⾃自增数值清零 create table t3(id int primary key auto_increment comment '这是个主 键',name varchar(10) comment '这是名 字'); 事务(transaction) 执⾏行行成功或全部执⾏行行失败是 事务是数据库中执⾏行行同⼀一业务多条SQL语句句的⼯工作单元,事务可以保证多条SQL语句句全部 第 ⻚页3
MySQL数据库知识点 功能 格式 示例例 作者:CC 事务相关SQL语句句 序号 1 2 3 4 5 6 修改⾃自动提交的状态 0关闭 1开启 保存回滚点 开启事务(数据库中事务默认是⾃自动提交的) 回滚事务 把内存中的改动清除 提交事务 把内存中的事务提交 查看数据库⾃自动提交的状态 begin; rollback; commit; show variables like ‘%autocommit%’; set autocommit =0/1; savepoint 名称; begin; rollback; commit; show variables like ‘%autocommit%’; set autocommit =0; savepoint s1; SQL分类 序号 1 2 3 4 5 类型 数据定义语⾔言DDL (Data Definition Language) 数据操纵语⾔言DML (Data Manipulation Language) 数据查询语⾔言DQL (Data Manipulation Language) 事务控制语⾔言TCl (Transaction Control Language) 数据控制语⾔言DCL (Data Control Language) 包括 create alter drop truncate insert delete update select(DQL) 不不⽀支持事务 ⽀支持事务 select ⽀支持事务 begin rollback commit savepoint grant(授权) revoke(取消授权) ⽤用于分配⽤用户权限相关的SQL MySQL数据类型 类别 类别 整数类型 bit , bool , tinyint , smallint , mediumint , int , bigint 第 ⻚页4
作者:CC 类别 浮点数类型 字符串串类型 ⽇日期类型 其他数据类型 整数类型 MySQL数据类型 tinyint(m) smallint(m) mediumint(m) int(m) bigint(m) MySQL数据库知识点 float , double , decimal char , varchar , tinytext , text , mediumtext , longtext , tinyblob , blob , mediumblob , longblob date , datetime , timestamp , time , year binary , varbinary , enum , set , geometry , point , multipoint , linestring , multilinestring , polygon , geometrycollection 等 含义(有符号) 1个字节 范围(-128~127) 2个字节 范围(-32768~32767) 3个字节 范围(-8388608~8388607) 4个字节 范围(-2147483648~2147483648) 8个字节 范围(+-9.22*10的18次⽅方) 注:int(m)对应java中的int,bigint(m)对应java中的long,m代表显示⻓长度,需要结合 zerofill使⽤用 例例如:create table tint(id int,age int(8) zerofill); 浮点数类型 insert into tint values(1,28); select * from t_int; MySQL数据类型 float(m,d) double(m,d) decimal(m,d) 含义(有符号) 单精度浮点型 8位精度(4字节)m总个数 ,d⼩小数位 双精度浮点型 16位精度(8字节)m总个数 ,d⼩小数位 定点数 参数m<65 是总个数,d<30且d
作者:CC MySQL数据类型 MySQL数据库知识点 含义(有符号) varchar(n) tinytext text mediumtext longtext 可变⻓长度,最多65535个字符 可变⻓长度,最多255个字符 可变⻓长度,最多65535个字符 可变⻓长度,最多2的24次⽅方-1个字符 可变⻓长度,最多2的32次⽅方-1个字符 注: char(10) "abc" 所占⻓长度10,varchar(10) "abc" 所占⻓长度3,可变⻓长度更更节省空间,固定⻓长 度执⾏行行效率略略⾼高 ⽇日期时间类型 MySQL数据类型 date time datetime timestamp 含义(有符号) ⽇日期 '2008-12-2'只能保存年年⽉月⽇日 时间 '12:25:36' 只能保存时分秒 ⽇日期时间'2008-12-2 22:06:44'保存年年⽉月⽇日时分秒最⼤大值9999-12-31,默认值null ⽇日期时间'2008-12-2 22:06:44'保存年年⽉月⽇日时分秒最⼤大值2038-1-19,默认值当前时间 MySQL查询相关 1.别名:select ename as '名字' from emp; select ename '名字' from emp; select ename 名字 from emp; 2.去重:select distinct job from emp; where条件查询(where后不不能写聚合函数) 常⽤用运算符 常⽤用运算符 解释 示例例 and和or and 和java中的&&效果⼀一样 or 和java中的||效果⼀一样 模糊查询like ⽐比较操作符 >,<,>=,<=, =,!=和<> _:代表单个未知字符 %:代表0或多个未知字符 <>不不等于 select * from emp where deptno!=10 and sal<3000; select ename,job,mgr,deptno from emp where deptno=30 or mgr=7698; select title from t_item where title like ‘%记 事本%’; >,<,>=,<=,=,!=和<> 第 ⻚页6
作者:CC MySQL数据库知识点 常⽤用运算符 解释 示例例 in is not between 搜索结果的排序 当查询某个字段的值为多个的 时候使⽤用in关键字 is null is not null 在x和y之间的between x and y 包括x和y 当查询某个字段的值为多个的时候使⽤用in关 键字 select * from emp where mgr is null; select * from emp where mgr is not null; select * from emp where sal between 2000 and 3000; 语句句 order by 备注 升序asc(默认) 降序 desc 多字段排序 order by 字段名1 asc/desc,字段 名2 asc/desc,……; 示例例 select ename,sal from emp order by sal; select ename,sal from emp order by sal desc; select ename,sal,deptno from emp order by deptno desc,sal; 搜索结果分⻚页 语句句 limit 备注 示例例 格式:limit 跳过的条数,请求的数量量; 公式:limit ((⻚页数-1)*每⻚页数量量),每⻚页数量量; limit写在order by后⾯面 select * from t_item order by price limit 7,7; 搜索结果的显示~数值计算 符号 + - * / % 数值计算 备注 示例例 select ename,sal,sal*5 as ‘年年终奖’ from emp; 功能 加 减 乘 除 取余 7%2等效mod(7,2) 搜索结果的显示~⽇日期相关的函数 第 ⻚页7
作者:CC 序号 1 获取当前⽇日期+时间 功能 now() 语句句 2 获取当前的⽇日期 curdate() select now(); select curdate(); MySQL数据库知识点 示例例 备注 (cur是 current缩 写) select curtime(); select date(created_time) from t_item; select time(created_time) from t_item; select extract(year from now ()); select date_format(now(),’%Y年年%m⽉月%d⽇日 %H 时%i分%s秒’); select str_to_date (’14.08.2018 08:00:00’,’%d.%m. %Y %H:%i:%s’) 四位年年2018 两位年年 18 两位⽉月 1 ⼀一位⽉月 ⽉月的天(01~31) ⼩小时(00~23) ⼩小时(01~12) 分 秒 3 获取当前的时间 4 从年年⽉月⽇日时分秒中提取 年年⽉月⽇日和提取时分秒 5 从年年⽉月⽇日时分秒中提取 时间分量量 6 把时间默认格式转成年年 ⽉月⽇日时分秒 7 把⾮非标准格式的时间转 回默认格式 8 ⽇日期格式化 curtime() date(时间); time(时间); extract(year/month/day/ hour/minute/second from now()) date_format(时间,格式) str_to_date(‘⾮非标准格式 的时间’,格式) %Y %y %m %c %d %H %h %i %s 搜索结果的显示~ifnull(x,y)函数 序号 1 语句句 age = ifnull(x,y) 如果x的值为null则age=y 如果x值不不为null则age=x; 功能 搜索结果的显示~字符串串相关 序号 序号 功能 1 字符串串拼接 2 获取字符串串⻓长度 3 获取字符串串在另⼀一个 字符串串出现的位置 语句句 concat(‘aa’,’bb’) //结果aabb char_length(‘abc’) //结果3 1:instr(str,substr) 2:locate(substr,str) 示例例 select ename,concat(sal,’元’) from emp; select ename,char_length(ename) from emp; select instr(‘abcsdg’,’c’); select locate(‘c’,’agasjclasjdg’); 第 ⻚页8
分享到:
收藏