navicat:
常用快捷键:

功能 快捷键
新建查询 CTRL+Q
加载视图或加载查询 CTRL+O
注释行 CTRL+/
取消注释行 SHIFT+CTRL+/
运行 CTRL+R
运行已选择的 SHIFT+CTRL+R/
从这里运行一个语句 F7
停止 CTRL+T

一个语句写完 在语句后面加分号 ;

mysql的操作

  • 数据库操作:
  • 主键与外键:
  • 建表:
  • 运算符
  • 数据类型:
  • 数据类型转化
  • 常用函数:
  • 时间函数
  • 定义变量
  • 指令导出查询结果
  • 创建视图
  • 创建索引
  • * ,like, in(索引会失效,用OR代替)
  • where 后 表达式放到等号右边
  • 增:
  • 删:
  • 改:
  • 查:
  • 表连接:
  • 索引:
  • 存储过程的定义
  • 开窗函数
  • 游标:
  • 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,
  • 创建函数:
  • #事件(event)是MySQL在相应的时刻调用的过程式数据库对象。
  • 表分区

数据库操作:

查看数据库: show   databases;查看包含test的数据库: show    databases   like  ‘ %test%’;新建(添加)数据库:create  databases  test;删除数据库:drop   databases  test1;使用数据库: use  test ;

主键与外键:

1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。
身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
2.外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。
比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

建表:

Creat table 表名 select * from 表名

create table ryxx #表名
(
id int(255) not null auto_increment, # id列 整数(255位)非空,递增

#name列,字符串 (30位)字符编码 utf-8 可以有空值 别名为姓名
name varchar(30) character set utf8 collate utf8_general_ci null comment “姓名”,

birthday date null comment “生日”,

sex int(2) null comment “性别:1-男,2-女”,

primary key (id)

)
ENGINE=InnoDB DEFAULT CHARSET=utf8;

1、foreign key :外键
2、PRIMAPY key 是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。
也可以在后面添加约束键值:CONSTRAINT te PRIMARY key (id)
3、UNSIGNED是无符号的意思,代表该字段没有正负。
4、AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。(AUTO_INCREMENT = 100,便会从100自增) 。
5、NOT NULL 规定该字段不允许为空
6、check:检查
7、default charset utf8规定该字段的默认值 (没有数据传入时则使用默认值来设置该字段)特别注意 :在声明int型值默认值时 不能设为空必须有整数值 列入 ID int(8) not null default ‘000’ 是正确的而 ID int(8) not null default ‘’ 是错误的。

运算符

#逻辑运算是 and or not
#比较运算符号 > >= = < <= !=
#运算符 in, not in, like,not like
#通配符 % _ (多个和一个)

数据类型:

MySQL有三大类数据类型, 分别为数字、日期\时间、字符串, 这三大类中又更细致的划分了许多子类型:
数字类型
整数: tinyint、smallint、mediumint、int、bigint
浮点数: float、double、real、decimal
日期和时间: date、time、datetime、timestamp、year
字符串类型
字符串: char、varchar
文本: tinytext、text、mediumtext、longtext
二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob

数据类型转化

CAST(谁 AS 转成啥格式)

#DATE YYYY-MM-DD
#DATETIME YYYY-MM-DD HH:mm:ss
#TIME HH:mm:ss
#DECIMAL 通常用于带小数位
#CHAR 固定长度字符串
#NCHAR 类型于CHAR一致
#SIGNED 一个有符号的64整数位
#UNSIGNED 一个无符号的64整数位
#BINARY 二进制字符串

常用函数:

#聚合函数
SELECT var_pop(列名) from tablename #指定列的总体方差
SELECT VAR_SAMP(列名) from tablename #指定列的样本方差
SELECT STDDEV_POP(列名) from tablename #指定列的总体标准差
SELECT STDDEV_SAMP(列名) from tablename #指定列的样本标准差

#数学函数
#ABS 绝对值函数
#ceiling 天花板整数,也就是大于x最小的整数
select CEILING(2.3) #roundup
#FLOOR(X)小于x的最大整数
select FLOOR(2.9) #rounddown
#EXP(X)自然对数e为底的x次方
select exp(2)
#返回集合中最大的值,least返回最小的,注意跟max,min不一样,max里面跟的是col,返回这个列的最大值最小值
select GREATEST(1,2,3,4)
select qa3,qa4,qa8,GREATEST(qa3,qa4,qa8),LEAST(qa3,qa4,qa8) from ccss_sample
#ln(x)返回对数
SELECT ln(10)
SELECT exp(ln(10))
#log(x,y),以x为底y的对数
select log(10,100)
#mod(x,y)返回x/y的余数
select mod (5,2)
#pi() 返回pi
select pi()
#RAND()返回0,1之间随机数
select rand()
#round(x,y)返回x四舍五入有y位小数的值
select round(4.6,0)
select round(2.3473,2)
#sign(x) 返回x符号
select sign(-5)
#sqrt(x)返回x的平方根
select SQRT(4)
#truncate(x,y) 返回数字x截断为y位小数的结果,就是不考虑四舍五入,直接砍掉
select TRUNCATE(4.67,1) #截断取整,不四舍五入

#子查询
所有的子查询必须在括号里
SELECT 可以使用子查询 ——只能返回一列
FROM 可以使用子查询 ——子查询必须起别名
WHERE 可以使用子查询–只能返回一列
group by
having 可用子查询
order by
limit

EXISTS(select 语句) #select 结果有数据时 则返回true ,否则返回false

时间函数

#获取系统时间
select curdate(),current_date() # excel 中 today
select curtime(),current_time(),
select now() #EXCel 中 now

#提取部分时间
SELECT now(), YEAR(now()),MONTH(now()),MONTHNAME(now()),DAY(now()),DAYNAME(now()),HOUR(current_time()),MINUTE(now()),SECOND(now())

#给指定时间加部分日期
select DATE_ADD(日期,INTERVAL 数 单位) #单位包括 YEAR,MONTH,DAY,HOUR,MINUTE,SECOND

#给指定时间减去部分日期
select DATE_sub(now(),INTERVAL 2 day)

#日期计算
select DATEDIFF(结束日期 ,开始日期) #日期天数之差
select TIMESTAMPDIFF(时间单位 ,‘2019-09-10’,curdate()) #时间戳,#单位包括 YEAR,MONTH,DAY,HOUR,MINUTE,SECOND

#把给定的内容转化为时间戳
UNIX_TIMESTAMP(时间字符串 或 时间)

#时间戳转化为时间或指定格式的字符串
FROM_UNIXTIME(时间戳[,格式])

#字符串转换为日期
#STR_TO_DATE(时间字符串,格式)
select STR_TO_DATE(“01-3-2019”,"%m-%d-%Y")
%Y:代表4位的年份
%y:代表2为的年份

%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%b 缩写英文月名

%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)

%H:代表小时,格式为(00……23)
%k:代表 小时,格式为(0……23)
%h: 代表小时,格式为(01……12)
%I: 代表小时,格式为(01……12)
%l:代表小时,格式为(1……12)

%i: 代表分钟, 格式为(00……59) 【只有这一个代表分钟,大写的I 不代表分钟代表小时】

%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)
%p: [AP]M 转换为24小时制

%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)
*/

select “开标识” REGEXP ‘始?’ # 与 like 类似
#^ 开始标识
#$ 结束标识
#. 匹配任意字符
#\w 下划线 数字 字母 汉字
#\d 数字
#\s 空格 回车 换行 tab 总之是各种空
#* 0~ 无穷
#+ 1~ 无穷
#? 0或1
#{n,} 至少n个
#{n} 只有n个
#{,n} 最多n个
#{m,n} m到n个
#[] 取值范围
#| 或关系
#() 分组匹配

定义变量

定义用户级变量
set @变量名 = 初始值;

select语句赋值
select @变量名: = 列名 from 表名

指令导出查询结果

#1 运行 sql 指令,查找默认的存储路径
show variables like ‘secure%’; #secure_file_priv 默认的存储路径

#2 更改存储路径 my.ini 文件里改
通过show VARIABLES 指令查看默认路径
C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\

#3 打开 my.ini 找到 secure-file-priv 参数
secure-file-priv = “d:/”
#4 保存 my.ini 文件 重启 mysql 服务
计算机-》右键-》管理 -》 服务-》 mysql -》 停止,启动
#5 通过 show variables like ‘secure%’; 指令查看是否更改成功

#6 导出查询结果
select 语句的 from 前,加 into outfile “my.ini 文件的指定路径/文件名.txt”
#FIELDS TERMINATED by “间隔符” 指定字段间隔
#LINES TERMINATED by “\r\n” 指定歫间隔
select * into OUTFILE “d:/ttt.txt” FIELDS TERMINATED by “,” LINES TERMINATED by “\r\n” #LINES TERMINATED by 指定行间隔
from sc

#UNION 上一行列名,再进行导出
select * from (
select “sid”,“cid”,“score”
UNION all
select * from sc ) as A

#预制语句
set @Sqlstr = CONCAT(sql语句组合) #"\r\n" 指定歫间隔 时 用"\r\n"
PREPARE Sql_Text FROM @Sqlstr #把 Sql 字符串翻译成 sql语句
EXECUTE Sql_Text #执行翻译好的sql 语句

set @sqlstr= CONCAT(" select * into OUTFILE ‘d:/",UNIX_TIMESTAMP(now()),".txt’ LINES TERMINATED by ‘\r\n’ from sc ")
select @sqlstr
PREPARE test_sql FROM @sqlstr
EXECUTE test_sql

创建视图

create view 视图名 as
select 语句

#表与视图的区别
物理空间 操作
视图 创建视图定义空间 只能查,不能进行增删改

表 实际记录数据空间 增删改查

创建视图时不能有变量

#修改
#1
create or REPLACE view 视图名
as
select 语句

#2
ALTER view 旧视图名
as
select 语句

#删除
drop view v1

#使用(同查表一样)
select * from 旧视图名

#sql 优化(提高查询速度)

创建索引

* ,like, in(索引会失效,用OR代替)

where 后 表达式放到等号右边

增:

Insert into 表格名称 VALUES (插入内容)

默认插入全部字段:
eg:

Insert   into    table1      VALUES  (5,"A",80)

自定义插入字段:
eg:

Insert   into    table1(dengji,score)       VALUES("A",80)

没有添加的字段默认为空(null)

删:

DELETE FROM 表格名称
WHERE name=‘aa’ AND country=‘dd’; 定义条件内容

eg:删除 表 table1 name为aa country 为dd数据

 DELETE      FROM    table1WHERE name='aa'    AND country='dd';

改:

Update 表(名称)

Set 改成什么

Where 改哪里的(行/列)
eg:修改table1的table_list_name 列为’holler’,年龄为19的

UPDATE  table1SET  table_list_name = 'holler'WHERE    age = 19;

查:

查询基本结构:
选择:selsect
来自那里:from
条件1:where
分组:Group by 列
条件2:having
排序: order by asc desc
取几个:limit n,m

判断语句:跟if一样
Case when 条件 THEN 值
when 条件 THEN 值
when 条件 THEN 值

ELSE 值
End

表连接:

1、 inner join 交集都有才显示
2、 left join 左全显示
3、right join 右全显示
4、outer join 并集都显示
5、纵向Union表连接:添加数据
相同结构的查询结果纵向合并:(union去重复(慢), union all 全部连接(常用))
select * from 表名1
Union /union all
Select * from 表名2

索引:

把所有需要提高查询速度的字段都加进聚集索引,以提高查询速度,
经常出现在(where order by)的纬度

查看索引:show index

使用ALTER TABLE语句创建索引

普通索引
alter table table_name add index index_name (column_list) ;
非空索引
alter table table_name add unique (column_list) ;
主键索引
alter table table_name add primary key (column_list) ;

删除索引
drop index index_name on table_name ;
alter table table_name drop index index_name ;
alter table table_name drop primary key ;

存储过程的定义

存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集
存储过程的优点:(事务,速度快,防注入)
(1).增强SQL语言的功能和灵活性:存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

(2).标准组件式编程:存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。

(3).较快的执行速度:如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。

(4).减少网络流量:针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的Transaction-SQL语句被组织进存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大减少网络流量并降低了网络负载。

(5).作为一种安全机制来充分利用:通过对执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

存储过程与自定义函数的区别:

存储过程实现的过程要复杂一些,而函数的针对性较强;

存储过程可以有多个返回值,而自定义函数只有一个返回值;

存储过程一般独立的来执行,而函数往往是作为其他SQL语句的一部分来使用;
*/

#存储过程定义
create PROCEDURE proc_1(in/out/inout 参数名 参数类型)
BEGIN
sql 语句 #一定要有语句结束标记;
end
##存储过程调用
call proc_1(实参1,实参2)

#查看存储过程
1. navicat 数据库——》函数下
2. 到mysql库下得 proc 表查看
use mysql
SELECT * from proc
3. SHOW PROCEDURE STATUS WHERE db=‘数据库名’; #查指定数据库下的存储过程 (和第二条类似)
#查看存储过程详细信息
SHOW CREATE PROCEDURE 过程名;
show create PROCEDURE proc_1
#删除一个过程
drop PROCEDURE 过程名;
drop PROCEDURE if EXISTS 过程名;
#定义 用户变量
set @变量名 = 变量值;
#显示变量内容
select @变量名;
# 变量赋值
1 通过Set 直接指定默认值 @变量名 = 变量值;
2 select @变量名1 := 字段名1,@变量名2 := 字段名2, from 表
3 select 字段名1, 字段名2 into @变量名1,@变量名2 from 表
#定义局部变量( 定义在过程的最上边)
DECLARE 变量名 变量类型 DEFAULT 值
#局部变量
select 字段名1, 字段名2 into 变量名1, 变量名2 from 表
#局部变量显示
select 变量名

#预制语句 (PREPARE语句用于预备一个语句,并赋予它名称,借此在以后引用该语句)

PREPARE 定义名 FROM 语句字符串; #预制语句sql 语句

EXECUTE 定义名 #执行sql语句

DROP PREPARE 定义名; #删除预定义名

开窗函数

函数: row_number() , rank(),dense_rank,lag(列名,前几位,不存在时的默认值), lead(列名,后几位,不存在时的默认值)
开窗: over (partiton by 分组列名 order by 列名)#()里的设置可以缺省——

set @id = 0;
CREATE table t1 as
select *,@id:=@id+1 as id from sc
order by cid ,score desc

set @paiming = 0 ;
select *,@paiming :=if(t1.cid =(select cid from t1 as subt1 where subt1.id = t1.id -1 ) ,@paiming+1,1) as paiming
from t1

select *,
(select count(sid) from sc as subsc where subsc.cid =sc.cid and subsc.score> sc.score) +1 as paiming
from sc
order by cid ,paiming

CREATE PROCEDURE proc_1(in kechengming varchar(10))
BEGIN
select * from sc,course
where sc.cid = course.cid
and cname=kechengming;
end

call proc_1(“语文”)

游标:

认识游标(cursor): 游标就是一个可读的标识,用来标识数据取到什么地方了。
使用游标: 需要强调的是,游标必须在定义处理程序之前被定义,但变量必须在定义游标之前被定义,顺序就是变量定义-游标定义-处理程序。

游标用到 存储过程里 因为declare是用到存储过程里的

游标作用: 对每行数据进行分别处理
定义游标
declare 游标名 cursor for select语句
定义游标结束标记
declare CONTINUE HANDLER FOR NOT FOUND set 变量名 = 值;
打开游标
open 游标名
推进游标指针
FETCH 游标名 into 变量名(此变量存储的是当前记录的值);
关闭游标
close 游标名

drop PROCEDURE if EXISTS Sumbysid;
create PROCEDURE Sumbysid(in s_id int,out sum_score int)
BEGIN
declare curr_score int;
declare isend int DEFAULT 0 ;

  DECLARE cur_name CURSOR FOR   SELECT score from sc where sid = s_id; DECLARE  CONTINUE HANDLER FOR NOT FOUND  SET   isend = 1; OPEN  cur_name; FETCH cur_name INTO curr_score; set sum_score = 0;while isend !=1  DOset sum_score = sum_score + curr_score;FETCH cur_name INTO curr_score; end while;close cur_name;

end;

call Sumbysid( 3,@sum1);
SELECT @sum1

触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,

它的执行不是由程序调用,也不是手工启动,而是由事件来触发,例如当对一个表进行操作( insert,delete, update)时就会激活它执行。
触发器经常用于加强数据的完整性约束和业务规则等。 触发器创建语法四要素:
1.监视地点(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before) after
4.触发事件(insert/update/delete)
begin
if EXISTS(select * from 老师业绩 where tid= new.tid) then
update 老师业绩 set qian = qian+50 where tid= new.tid
else
insert 老师业绩 VALUES(new.tid,50)
end if
end
insert 型触发器 new 表示将要 before 或者 已经新增的数据 after
Update 型触发器 old 用来表示将要 before 或者已经被跟新的语句 after
new 表示将要 before 或 者已经修改的为数据after
DELETE 型触发器 old 用来表示将要 before 或 者已经被删除的语句 after

create trigger 触发器名字
after/before insert/update/delete on 表名
for each row
begin
sql语句;
end;

Mysql触发器的执行顺序

如果before类型的触发器程序执行失败,sql执行失败
sql在执行失败时,after型触发器不会执行。
after触发器执行失败,sql会回滚

结论:同时失败或同时成功

创建函数:

定义
Create function 函数名(参数1 参数类型, 参数2 参数类型,…) #定义函数头
returns 返回值类型 #提前告知函数的返回类型 注意是returns
#函数体用begin end 包起来
begin
函数体内容(每条语句后加;)
RETURN 值;#返回数据 注意此处为 RETURN
end

#删除
DROP FUNCTION IF EXISTS function_name;

#查看函数
show create FUNCTION test_max

#事件(event)是MySQL在相应的时刻调用的过程式数据库对象。

#一个事件可调用一次AT ,也可周期性的启动 EVERY ,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。
#事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,
#而事件是根据调度事件来(时间周期)启动的。由于他们彼此相似,所以事件也称为临时性触发器。

SHOW PROCESSLIST; #参看在运行的线程(确定事件调度器是否启动)
#事件计划保存 启动事件服务
show variables like ‘%sche%’;
set global event_scheduler =ON;

show EVENTS #当前数据库的所有事件

drop EVENT 计划1 #删除指定事件

表分区

mysql数据库中的数据是以文件的形势存在磁盘上的,
默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),
一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。
如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,
这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,
这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。
如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。

分区表的限制因素

(1)、一个表最多只能有1024个分区。

(2)、如果分区字段中有主键或者唯一索引的列,那么多有主键列和唯一索引列都必须包含进来。
即:分区字段要么不包含主键或者索引列,要么包含全部主键和索引列。

(3)、分区表中无法使用外键约束。

MySQL支持的分区类型
(1)、RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。

(2)、LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。

(3)、HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。

(4)、KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含整数值。
*/

#建表时做分区
create table 表名(
列…

partition by range(cid)(
partition p0 values less than (6),
partition p1 values less than (11),
partition p2 values less than (16),
partition p3 values less than (21)
);

#对已经存在的表进行分区

#查看数据库路径
show variables like ‘%dir%’;

#如果表存在主键或外键,只能用主键或外键进行分区
##列值为数值 RANGE
alter table score PARTITION by RANGE(id)
(
PARTITION qu1 VALUES less than(10),
PARTITION qu2 VALUES less than(MAXVALUE)
)

#列值为数值但可数 list
select * from sc
alter table sc PARTITION by list(cid)
(
PARTITION qu1 VALUES in(1,2),
PARTITION qu2 VALUES in(3,4,9,10)
)

#列值为字符串 list COLUMNS
alter table score PARTITION by list COLUMNS(c_name)
(
PARTITION qu1 VALUES in(“计算机”,“英语”),
PARTITION qu2 VALUES in(“中文”,)
)
#删除分区数据(数据会丢失)
alter table score drop partition qu1;

#删除分区(保留数据)
Alter table teacher remove PARTITIONING

#合并分区
alter table te
reorganize partition qu1_1,qu1_2 into
(partition qu1 values less than (10));

#分解分区
alter table score
reorganize partition qu1 into
(
partition qu1_1 values less than (5),
partition qu1_2 values less than (MAXVALUE)
);

#查找指定分区的数据
select * from score PARTITION(qu1)

#查看指定表的分区情况
show create table score

mysql入门到精通相关推荐

  1. mysql入门到精通_Mysql从入门到精通全文整理

    mysql基础 数据库基本概念 磁盘文件--> 层次模型 --> 网状模型 --> (Codd) 关系模型 DBMS是管理数据库的系统软件,它实现数据库系统的各种功 能.是数据库系统 ...

  2. 乐心湖‘s Blog——MySQL入门到精通 —— 囊括 MySQL 入门 以及 SQL 语句优化 —— 索引原理 —— 性能分析 —— 存储引擎特点以及选择 —— 面试题

  3. MySQL基础入门到精通学习教程汇总【基础+高级完整版】

    MySQL是最流行的关系型数据库管理系统之一,这也是我们为什么要学习MySQL数据的库的原因之一,就连非互联网行业的人士也在开始学习MySQL去分析数据. 对于程序员来说,MySQL数据库更是需要熟练 ...

  4. ABP从入门到精通(2):aspnet-zero-core 使用MySql数据库

    关于 asp.net zero core 项目的启动及说明,请观看我前面的博文ABP从入门到精通(1):aspnet-zero-core项目启动及各项目源码说明 本操作对于ABP默认项目应该也是适用的 ...

  5. mysql数据库应用_MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库 查看所有数据库:SHOW DATABASES 创建数据库:CREATE DA ...

  6. mysql数据应用从入门_MYSQL数据库应用从入门到精通----读书笔记

    mysql 1.创建数据库 create database database_name; 2.查看数据库 show database_name; 3.选择数据库 use database_name; ...

  7. (一)mysql 运维基础篇(Linux云计算从入门到精通)

    学习预览: (一)mysql 运维基础篇(Linux云计算从入门到精通) (二)mysql 索引和视图(数据库运维基础补充) (三)mysql 触发器.存储过程和函数(数据库运维基础补充) (四)My ...

  8. MySQL从入门到精通:多表查询的灵活运用_02

    我是 ABin-阿斌:写一生代码,创一世佳话,筑一揽芳华. 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦. 上一篇:MySQL从入门到精通:基本语法介绍与使用_01 下一篇:MySQL从 ...

  9. 《PHP 7+MySQL 8动态网站开发从入门到精通(视频教学版)》示例源码课件教学视频免费下载

    #好书推荐##好书奇遇季#<PHP 7+MySQL 8动态网站开发从入门到精通(视频教学版)>京东当当天猫都有发售. PHP+MySQL的组合是目前世界上流行的Web开发工具,被大型互联网 ...

最新文章

  1. python3.8.5怎么用-Python 3.8.5 正式发布
  2. c语言编程用得上i7,为什么我的C应用程序比Core i7上的C应用程序(使用相同的库)更快...
  3. Java基础-特殊数据类型:枚举
  4. 一个电脑能装几块固态_装上固态SSD的电脑几个月后就卡慢?是因为你忽略了这一个细节...
  5. An Overview of Cisco IOS Versions and Naming
  6. 重新理解“失败是成功他妈”
  7. VAX Patch VA_X.DLL 安装位置的问题 for VS2008 , VS2010 , VS2011
  8. oracle 7天密码过期,oracle密码过期ORA-28002: 7天之后口令将过期的解决方法
  9. 安卓屏幕朗读app_android录屏app推荐?安卓手机屏幕录制方法步骤教程
  10. 4.4 输入法图片 android,支持安卓4.4!搜狗输入法5.1新版发布
  11. JDK开发环境搭建及环境变量配置(win10)
  12. 数据挖掘肿瘤预测_必读|TCGA数据挖掘-肺癌肿瘤免疫浸润分析
  13. Oracle错误——user ** lacks CREATE SESSION privilege logon denied
  14. 麒麟V10 kylin v10服务器版yum软件源官方源亲测可用
  15. threejs特效:扫光shader
  16. 情侣间常犯的7个沟通问题
  17. 人民币美元兑换程序python简单_纯代码实现人民币兑换美元
  18. python节日贺卡绘制
  19. 解决问题CondaVerificationError: The package for olefile located at...
  20. Axios源码深度剖析

热门文章

  1. 谷歌浏览器Chrome设置夜间模式
  2. 计算机系学生推荐电脑游戏本,有什么学生笔记本电脑推荐 学生笔记本电脑推荐...
  3. 什么!Python从入门到放弃?方法不对一切白费!
  4. python xgboost调参_XGBoost从原理到调参
  5. docker-nginx部署
  6. c++教你一步步做推箱子(附源码)
  7. AUTODESK.SIMULATION.MOLDFLOW.DESIGN.LINK.2013-MAGNiTUDE
  8. 0x0000004e(0x0000004e蓝屏代码是什么意思)
  9. 会导致你创业失败的18个因素[转]
  10. linux 磁盘满了 预警,Linux磁盘空间满了的排查与解决思路