您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

mysql入门级,20分钟搞定

时间:2019-12-23 11:09:51  来源:  作者:

--sql语言的四大分类

--数据定义语言(DDL)

create alter drop

--数据查询语言(DQL)

select

--数据操作语言(DML)

insert update delete

--数据控制语言(DCL)

revoke grant

--数据库的相关操作

--创建数据库

create database 数据库名称;

--查询指定的数据库

show create database mydb;

--查询所有数据库

show databases;

--数据库名称的相关规则:

1、数据库名称不能相同(唯一)

2、数据库名称不能超过65个字符,数据库名称的别名不能超过255个字符。

3、数据库名称由阿拉伯数字、字母、下划线(_)美元符号($)组成,但是不能以数字开头。

4、数据库在windows中不区分大小写,但是在linux中区分大小写。所以推荐全部小写(方便后期移植到linux中)。

--删除数据库

drop database 数据库名称;

drop database if exists mydb; --判断数据库是否存在,如果存在就删除,不存在就算了。

--修改数据库的编码集

alter database 数据库名称 default character set 编码集; -- 了解

例如:

alter database gxa default character set gb2312;

--指定使用具体的数据库

use 数据库名称;

--数据表的相关操作

--创建数据表

create table 表名(表字段1 表字段的类型1(字段的大小),表字段2 表字段的类型2(字段的大小));

create table t_user(uId int(3),uName varchar(10));

--查询当前数据库中有那些表

show tables;

--查询指定表创建的信息

show create table t_user;

--查询表结构

desc t_user;

describe t_user;

--删除表

drop table 表名;

--字段类型

--整型

tinyint 极小整型

smallint 小整型

mediumint 中整型

int 整型 -- 最常用

bigint 大整型

--浮点型

float 单精度浮点型

double 双精度浮点型

-- 金钱常用、对精度要求比较高的 100.25 -- 最常用

decimal(M,D) 总共有M位,保留小数点D位 -- 最常用

--字符串型

char(3) 固定长度字符型

varchar(3) 可变长度字符型 -- 最常用

--日期时间型

date 日期 yyyy-MM-dd -- 最常用的

datetime 日期时间型 yyyy-MM-dd hh:mm:ss 2019-07-01 15:34:34

timestamp (支持国际化)日期时间型 yyyy-MM-dd hh:mm:ss 2019-07-01 23:34:34 --最常用

--文本型

text 文本类型

blob 它支持存储视频、音频等二进制的数据 -- 很少用

--特殊类型 -- 了解

set 存储多列数据 set('篮球','足球')

enum 存储单列数据 enum('男','女')

--创建学生表

create table t_student(

stuNo int(10) primary key auto_increment,

stuName varchar(20) not null,

stuSex char(2) default '男',

stuIdCard varchar(18) unique not null,

stuLifeMoney double(10,2),

stuStartDay date,

stuUrl text,

stuHobby varchar(50)

);

--字段约束

--主键约束 -- 主键默认不能为null,而且唯一。一张表一个主键

primary key

--自动增涨 -- 一般配合主键使用,默认从1开始

auto_increment

--唯一约束 -- 可以设置值为null,也可以一个表中多列设置唯一约束

unique

--非空约束

not null

--唯一非空约束

unique not null

--默认约束

default

--外键约束

foreign key

学生班级表sql代码示例

create table t_student(

stuNo int(10) primary key auto_increment,

stuName varchar(20) not null,

stuSex char(2) default '男',

stuIdCard varchar(18) unique not null,

stuLifeMoney double(10,2),

stuStartDay date,

stuUrl text,

stuHobby varchar(50),

classId int(10),

constraint for_class foreign key (classId) references t_class(classId)

);

create table t_class(

classId int(10) primary key auto_increment,

className varchar(20)

);

--删除外键

alter table t_student drop foreign key for_class;

--MySQL命令窗口编码格式和mysql数据库中不一致,修改一下编码方法-------了解

--查看当前数据库的编码格式

show variables like '%char%';

set character_set_client=gb2312;

set character_set_server=gb2312;

--针对表字段操作

--添加一个字段

alter table t_user add money decimal(5,2);

--修改字段

alter table t_user change money price decimal(7,2);

--删除字段

alter table t_user drop price;

--插入数据 insert

--语法

insert into 表名(字段名1,字段名2......) values(字段1的值,字段2的值);

insert into t_class(classId,className) values(1,'XXX部');

注意:into后的表不指定任何字段,那么values中就必须填写所有字段的值并且按照顺序来

insert into t_class(classId,className) values(5,'xxx01班'),(6,'xxx02班'),(7,'xxx03班');

-- 实际开发中不常用

--修改数据 update

update 表名 set 字段名=更新的值 where 条件

例子:

update t_class set className = 'xxx班' where classId = 5;

update t_class set classId=10,className = 'xxxxxx班' where classId = 7;

update t_class set classMoney=classMoney+100 --修改全部

--将xxx01班的班费+100

update t_class set classMoney=classMoney+100 where className = 'xxx01班';

--删除数据 delete

delete from 表名 where 条件

例子:

delete from t_class where classId = 200;

delete from t_class --删除全部数据

--备份表

create table newt_class select * from t_class; --结构和数据都有

create table newt_class select * from t_class where 1 = 2; --只有结构,没有数据。

--从另一个表中恢复数据

insert into t_class select * from newt_class;

--truncate清空数据

truncate table t_class;

--delete 与 truncate 的区别

1、执行效率truncate比delete更高

2、delete可以添加where条件,但是truncate不行。

3、当表中出现自动增涨auto_increment的字段时,delete删除所有数据后,再添加数据。自动增涨的值=最后一次+1,但是truncate就从新开始。

4、delete它有日志记录,truncate没有。所以delete删除的数据可以恢复,truncate不能。

5、delete它支持事务处理,truncate不支持事务处理。

mysql中默认事务是自动提交的autocommit = 1

set autocommit = 0; --设置手动提交

commit; --提交



Tags:mysql入门   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言hello我是bigsai,今天咱们进行JDBC+MySQL实战,非常适合初入门的小伙伴打开新的世界。实现一个增删改查(curd)的例子。先点赞再观看、帅哥靓女养成好习惯!在这个案例进行之...【详细内容】
2021-01-15  Tags: mysql入门  点击:(187)  评论:(0)  加入收藏
--sql语言的四大分类--数据定义语言(DDL)create alter drop--数据查询语言(DQL)select--数据操作语言(DML)insert update delete--数据控制语言(DCL)revoke grant--数据库的相关操作...【详细内容】
2019-12-23  Tags: mysql入门  点击:(69)  评论:(0)  加入收藏
▌简易百科推荐
作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持。爱好看书,电影。座右铭,每一个不曾起舞的日子,都是对生命的辜负。 本文来源:原创投稿 *爱可生...【详细内容】
2021-12-24  爱可生    Tags:MySQL   点击:(7)  评论:(0)  加入收藏
生成间隙(gap)锁、临键(next-key)锁的前提条件 是在 RR 隔离级别下。有关Mysql记录锁、间隙(gap)锁、临键锁(next-key)锁的一些理论知识之前有写过,详细内容可以看这篇文章...【详细内容】
2021-12-14  python数据分析    Tags:MySQL记录锁   点击:(18)  评论:(0)  加入收藏
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二...【详细内容】
2021-12-14  linux上的码农    Tags:mysql   点击:(13)  评论:(0)  加入收藏
为查询优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查...【详细内容】
2021-12-09  元宇宙iwemeta    Tags:mysql   点击:(15)  评论:(0)  加入收藏
测试的目的和原因,公司有很多程序员,每个程序员对数据库和表结构都有自己的理解。而且每个程序员的理解往往是以效率考虑。既然都是为了效率考虑,那么我就来测试一下究竟哪种使...【详细内容】
2021-12-08  吴彬的分享    Tags:Mysql数据库   点击:(14)  评论:(0)  加入收藏
当你们考虑项目并发的时候,我在部署环境,当你们在纠结使用ArrayList还是LinkedArrayList的时候,我还是在部署环境。所以啊,技术不止境,我在部环境。今天这篇文章缕一下在同一台服...【详细内容】
2021-12-08  秃头码哥    Tags:MySQL数据库   点击:(17)  评论:(0)  加入收藏
对于数据分析来说,MySQL使用最多的是查询,比如对数据进行排序、分组、去重、汇总及字符串匹配等,如果查询的数据涉及多个表,还需要要对表进行连接,本文就来说说MySQL中常用的查询...【详细内容】
2021-12-06  笨鸟学数据分析    Tags:MySQL   点击:(21)  评论:(0)  加入收藏
在学习SQL语句之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、SQL Server等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。...【详细内容】
2021-11-24  笨鸟学数据分析    Tags:SQL语句   点击:(23)  评论:(0)  加入收藏
概述以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说,有定时任务域xx.cron,和SystemA域...【详细内容】
2021-11-05  Java云海    Tags:分布式锁   点击:(31)  评论:(0)  加入收藏
MySQL的进阶查询 一、 按关键字排序 使用ORDERBY语句来实现排序排序可针对一个或多个字段ASC:升序,默认排序方式 【升序是从小到大】DESC:降序 【降序是从大到小】ORDER BY的...【详细内容】
2021-11-05  Java热点    Tags:SQL语句   点击:(28)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条