如何mysql启动和关闭MySQL?

2021年6月专升本考试正式结束,考试结果各大高校相续公布,考生们有喜有愁。作为成功上岸的学长来说,很开心,同时也将自己备考期间的笔记整理了一下,希望可以让学弟学妹少走一些弯路!专业课考试题型考试科目:Java、MySQL数据库查考教材:《MySQL数据库应用教程 》董国钢,徐彩云
合肥工业大学出版社ISBN:9787565043321《Java基础入门》传智播客高教产品研发部
清华大学出版社ISBN:9787302359388考试时间:100分钟(合卷200分)考试题型(各科):单选题,共5小题判断题,共5小题填空题,共1小题(java:重写方法;MySQL:存储函数)简答题,共2小题(Java:抽象方法,继承;MySQL:多表查询,存储过程)《MySQL数据库应用教程 》数据库:数据库查看:show databases;创建数据库: create database student charset utf8;
create database student; (Utf8 为字符集,支持世界所有国家的字符;mysql默认为latin1,支持西欧字符、希腊字符等。)显示创建的数据库信息:show create database student;选择数据库:use student;修改数据库字符集:alter database student charset utf8;删除数据库:drop database student;查看支持的存储引擎:show engines\G;数据表:创建:create table name(字段名1 数据类型[约束条件,…];查看: 查看有哪些表:show tables; 查看全部表的说明信息:show table status; 查看指定表的创建信息:show create table name;修改: 表名:
alter table 表名 rename 新表名;
rename table 表名 to 新表名; 字段名:
alter table 表名 change 旧字段名 新字段名 新数据类型; 字段类型:
alter table 表名 modify 字段名 数据类型; 字段排列位置:
alter table 表名 modify 字段名 数据类型 first
after 字段名2; 修改字段默认值语法:
alter table 表名 alter column 字段名 drop default; (若本身存在默认值,则先删除)
alter table 表名 alter column 字段名 set default 默认值;(若本身不存在则可以直接设定)添加:
字段:
alter table 表名 add 字段名 数据类型[约束条件] first
after 字段名2;
约束:
alter table 表名
add constraint 约束名约束类型(字段名)删除:
字段:alter table 表名 drop 字段名;
表:drop table 表名;主键约束(primary key):将deptno设置为主键,保证实体完整性 直接字段说明中给出:
create table name(deptno int not null primary key,dname varchar(20),loc varchar(40)); 在所有字段名说明之后使用”constraint“给出:
create table name(deptno int not null,dname varchar(20),loc varchar(40)),constraint pk_deptno
primary key(deptno);
create table name(deptno int not null,dname varchar(20),loc varchar(40)),constraint pk_deptno
primary key(deptno,bj);外键约束(constraint…foreign key…references…):实现参照完整性非空约束(not null):字段值不能为空唯一约束(unique):保证字段的唯一性,字段的值不能重复出现默认值约束(default):auto_increment约束:自动生成唯一 的ID,设置自动增加的字段必须同时为主键。必须是整数类型。数据表添加数据: 添加单条数据(insert into):insert into 表名[(字段1,字段2,…)] values (值1,值2,…); 插入全部字段数据:
省掉字段列表 insert into name values(1,'wsy','yangluo');加上字段列表:insert into name(dname,deptno,loc)values('wsy',2,'yangluo');插入部分字段数据: 未给出值大热字段默认为NULL:
insert into name(dname,loc) values('wsy','yangluo');
插入多条数据:insert into 表名[(字段名2,字段名2,…)] values(值1,值2,…),(值1,值2,…),(…); 插入多条完整数据:
省掉字段列表
加上字段列表 插入不完整数据:
未给出值大热字段默认为NULL 插入查询结果:
insert into 表名1(字段列表1) select (属性列表2) from 表名2 where 条件表达式;
insert into name (deptno,dname,loc) select deptno,dname,loc from name_1 where ; 查看插入的数据:select * from name; 更新数据(update):更新表中记录的字段值
update 表名 set 字段名1 = 值1,字段名2 = 值2,…,字段名n = 值n where 条件表达式;
update name set dname = wws,loc=yangloc where loc=yang; 删除数据(detele):
a. delete from 表名 [where 条件表达式];
b. truncate [table] 表名;
注:使用delete删除数据会在日志中记录,truncate 不会。数据库的备份:逻辑备份、物理备份 逻辑备份:
备份一个:mysqldump [选项] 数据库名[表名]>backname.sql;mysqldump -u root -p name>c:\backname.sql;
备份两个:mysqldump [选项] databases 数据库1 [数据库2 数据库3] >backdump.sql;mysqldump -u root -p databases name name_1 name_2>c:\backname.sql;
备份所有:mysqldump [选项] -all -databases > backname.sql;mysqldump -u root -p -all -databases>c:\backname.sql;
[选项]参数可以为:“-u username”"-p password""-h hostname"中的一个或几个的组合。单表查询简单查询: 查询全部字段:
select * from 表名
select
字段1,字段2,字段3,…, from 表名条件查询: 带关系表达式 :where 条件表达式
select * from name where 条件表达式
关系运算符 说明
= 等于
<> 不等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于 带“and”“or”运算符的多条件查询:
运算符 说明
and,&& 逻辑与,同真为真
or,
逻辑或,有真为真
not,! 逻辑非, 带“in”运算符:
字段名 in(元素1,元素2,…)
字段名 not in(元素1,元素2,…)
表示在in的元素集合中,和不在元素集合中。 带“between and”运算符:
字段名 [not] between 值1 and 值2;
表示在两个值之间。 带“null”值:
字段名 is [not] null; 带“like”运算符:匹配字符串和字符
字段名 [not] like'匹配字符串';
在“匹配字符串”中,常用 % 和 _ 作为通配符。
要表示 % 和 _ 本身,使用"\"进行转义。高级查询: 带“distinct”的查询:即对重复数据只显示一次。
select distinct 字段名 from 表名;
注:在除重中涉及多个字段数据时,多个字段都相同,才有效。 带“order by 字段名 [asc
desc]”查询:
对字段进行升序和降序。
默认为升序 asc. 带“group by 字段名 [having条件表达式]”查询:
表示按某个字段进行分组查询。
有意义的分组查询常是“group by ”和聚合函数一起使用
having是对聚合之后的结果进行筛选(where永远用在having之前)
with 是可选的语法,它表示对汇总之后的记录进行再次汇总 带“limit [offset] 记录数”查询:
讲将查询结果限制在指定偏移位置(offest 参数指定)开始的若干条记录里。
select 字段名1,字段名2,…from 表名 [where 条件表达式] limit [offset] 记录数;
select * from name where deptno is null limit 2,3;
(表示从第3行开始,显示3条数据;同时表示从行2开始)统计(聚合函数 )查询与表达式查询: 查询记录数:count()select count(*) from 表名 [where 条件表达式]; 查询字段中的最大值和最小值:max(),min()select max(字段名)
min(字段名) from 表名 [where 条件表达式]; 对字段值求和或平均值:sum(),avg()select sum(字段名)
avg(字段名) from 表名 [where 条件表达式]; 为表和字段命名“别名”:以字母开头。
表名或字段名很长,使用别名代替。
select * from 表名 [as] 别名;
select 字段名 [as] 别名,字段名 [as] 别名,… from 表名;多表查询关系数据操作包括两种运算:并、笛卡尔积 并:针对两个结构相同的表进行的关系运算。 笛卡尔积:针对两个结构不同的表进行的关系运算。连接查询: 定义:是两表间一种重要的关系运算,在笛卡尔积数据记录中,按照相应字段值的比较条件进行选择生成一个新的关系。 分类:内连接、外连接、交叉连接内连接:自然连接、等值连接、不等连接
在笛卡尔积数据记录中保留表关系中所有能够跟指定条件匹配上的数据记录,删除不匹配的记录。外连接:
在笛卡尔积数据记录中不仅保留表关系中所有能够跟指定条件匹配上的数据记录,还会保留部分不匹配的记录。交叉连接:
两表或多表的笛卡尔积全部数据记录,是不带匹配条件的连接查询。 语法:
select [distinct] 字段(表达式)列表 from 表名列表 [where 条件表达式] [group by 字段名表 [having 条件表达式]] [order by 字段名 [asc
desc]…]交叉连接查询:cross join
select * from 表1,表2;
ansi格式:select * from 表1 cross join 表2;内连接查询:结合两个表中相同的字段,返回关联字段相符的记录
自然连接:
select * from 表名1 natural join 表名2;
对等连接:
select * from 表名1 inner join 表名2 on 等值表达式(=);
不等连接:
select * from 表名1 inner join 表名2 on 不等值表达式(!=);外连接查询:左外连接:left join…on表达式 对左右两表进行记录匹配,两表连接后总字段数为原两表中字段数之和 ,记录条数为“两表的笛卡尔积记录条数减去两表有相同字段而其值不相等的记录条数+左表中未匹配的记录数”。右外连接:right join…on表达式 对左右两表进行记录匹配,两表连接后总字段数为原两表中字段数之和 ,记录条数为“两表的笛卡尔积记录条数减去两表有相同字段而其值不相等的记录条数+右表中未匹配的记录数”。合并查询:select 字段(表达式)列表1 from 表1 union
union all select 字段(表达式)列表2 from 表2;
union:去掉重复记录,然后合并
union all:不去掉重复记录,然后合并嵌套查询(子查询): 返回单行单列数据:
查询符合某个条件的唯一的记录的,某个字段值select * from 主表名 where 主表中字段名>(select 字段名 from 表名 where 条件表达式); 返回单行多列数据:select
* from 主表名 where 主表中字段名=(select 字段名 from 表名 where 条件表达式); 返回多行单列数据:in、any、all、exists
in:where sal in (120,140,600)
表示sal是集合中的一个。
any:
where sal=any(120,140,600);
表示sal是集合中的一个。
where sal>any(120,140,600);
表示sal只要大于最小(120)就行。
where sal<any(120,140,600);
表示sal只要小于最大(600)就行。
all:
where sal>all(120,140,600);
表示sal只要大于最大(600)就行。
where sal<all(120,140,600);
表示sal只要小于最小(120)就行。
exists:至少返回一行 返回多行多列数据:视图视图是一种“虚拟表”,其内容来源于真实的表。视图的来源表可以是一个表,也可以是多个表,这些表被称为“基表”。视图的建立、修改和删除均不影响“基表”。视图的创建:create view create view 视图名 as select语句;create [or replace] [algorithm = {undefined
merge
temptable}] view 视图名 as select语句 [with [cascaded
local] check option];注:
a. 视图的命名不能和数据库中表名、其他视图名重名。
b. create后使用[or replace]参数可覆盖已存的同名视图
c. 可选的"algorithm"用于说明引用视图时所给条件与视图定义中的条件的结合方法,可取一下值:
merge:
temptable:
undefined:视图的查看: 查看数据库中表和视图情况:
show tables;
show table status; 查看字段结构:
describe 视图名;
show columns from 视图名; 查看创建信息:
show create
view 视图名;视图的修改: create or replace view 语句alter
[algorithm = {undefined
merge
temptable}] view 视图名 as select 语句 [with [cascaded
local] check option];视图的更新: 插入、更新、删除其作用都是作用于基表上的 更新视图时,只能更新权限范围内的数据 有一下内容时,不能更新:
a. 视图中不包含基表中被定义为非空的列
b. select语句后的字段列表中使用了数学表达式或聚合函数
c. select语句中使用了distinct,union,top,group by或having等子句。视图的删除: drop view [if exists] 视图名列表 [restrict
cascade] 注:
删除视图要求用户必须拥有drop权限
[if exists]表示如果存在就执行删除
[restrict
cascade]: restrict:表示如果定义了相关联的数据库对像,则拒绝该删除语句,默认。 casade:表示在删除视图的同时把所有与该视图相关联的数据库对象全部删除。索引定义:由表中的一个字段或多个字段生成的键组成,是一种数据结构(B-树或哈希表)。可以保证字段的唯一性。分类: B型树索引(btree):引擎innodb、myisam,默认。 哈希表索引(hash):引擎memory数据类型或字段值不同分类: 普通索引:由key或index定义 唯一索引:由unique key或unique index定义 全文索引:由fulltext key或fulltext index定义,只能创建在char、varchar、text类型的字段上。 空间索引:由spatial key或spatial index定义,只能创建在空间数据类型的字段上。创建索引:在表的一列或多列上建立 创建表的时候创建:create table 表名 (字段名数据类型 [完整性约束条件],…,[unique
fulltext
spatial] index
key 索引名(字段名1(长度) [asc
desc] ,字段名2(长度) [asc
desc])); 查看:
show create table 表名; 校验索引是否被引用:
explain select * from 表名 where 索引字段=1\G; 已存表上创建:create [unique
fulltext
spatial] index 索引名 on 表名(字段名1[(长度)] [asc
desc],字段名2…); 修改表时创建:alter table 表名 add
[unique
fulltext
spatial] index
key 索引名 (字段名1[(长度)] [asc
desc],字段名2…);删除索引: drop index 索引名 on 表名; alter table 表名 drop index 索引名;索引不适合哪些场景: 1. 数据量少的不适合加索引 2. 更新比较频繁的也不适合加索引 3. 区分度低的字段不适合加索引(如性别) 变量定义与使用常量:其值在运行中不改变变量:其值在运行中会改变局部变量:由用户创建,只在定义它的程序中有效用户会话变量: 由用户创建的会话变量,在当前用户的整个会话期有效。系统会话变量:系统变量全局变量: 可供所有用户使用的系统变量,对所有用户均有效。 局部变量:用 declare 声明,使用 default 说明默认值 一般用在sql语句中,如存储过程(或存储函数)的 being/end 之中。作用域仅限该语句块。 格式:declare var_name1,[var_name2] type [default value]; 对变量赋值:
a. set var_name1 = expr1 ,[var_name = expr2,…];
b. selcet max(score) into maxscore from 'StudScore';用户会话变量(用户变量):以@开头
使用 set 命令定义并赋值
set @var_name1 = expr1,[@var_name = expr2,…]; 使用 select 语句给变量赋值:
a. select @var_name1 := expr1,[@var_name2 := expr2,…];
b. select epxr1 into @var_name ,[expr2 into @var_name2,.]会话变量: 用户连接MySQL服务器时,自动使用全局变量对会话变量初始化。用户可改变自己的会话变量,不能改变其他用户的,断开连接后,设置的会话变量均失效。
重新设置(更改)会话变量格式:
a. set session var_name = value;
b. set @@session. var_name = value;
c. set @@var_name = value;
查看会话变量:
select @@var_name;
select @@session. var_name;
show session variables like "%var%";
查看所有会话变量:
show session variables;全局变量:影响服务器整体操作 更改全局变量必须具有 super 权限 设置全局变量,格式:
a. set global var_name = value;
b. set @@global. var_name = value; 注:global 不能省略,表示设置全局变量的值。 查看全局变量:
select @@global. var_name;
show global variables like "%var%"; 查看所有全局变量:
show global variables;存储函数存储函数的创建: delimiter $$ create function 函数名([参数列表]) returns 返回值类型
[可选特性参数] begin 函数体语句序列 end $$ 注:"$$"是重新定义的语句结束符,也可以是其他的字符。"begin…end"部分是函数的函数体,分别表示有多条语句的开始和结束,语句以";"结束。存储函数的调用: select 函数名();存储函数的查看: 查看当前库中所有:
show function status [like 'pattern'];
查看指定存储函数的创建信息:
show create function 函数名; 从 information_schema. routines 表中查看:
use information_schema;
select * from routines;
或 select * from information_schema.routines; 在 mysql.proc 中查询:
select name from mysql.proc where db='指定数据库名' and type = 'function';存储函数的修改: 修改存储函数:
alter function 函数名 characteristic;
只能修改"characteristic"指定的有关参数选项,而不能修改函数体;要修改函数体需要删除原函数再重新创建。 删除存储函数:drop语句
drop function [if exists] 函数名; 存储函数对用户授权:
grant execute onfunctton 过程名 to 用户名;存储过程 存储过程是一组预先定义并编译的Transact-SQL语句存储过程的创建: delimiter $$
create procedure
存储过程名([参数列表in、out、inout])
begin
过程体语句序列
end $$
/** stu 为存储过程名,student 为表名**/
delimiter $$
create procedure stu()
begin
select * from student;
end $$调用存储过程: call 存储过程名(输入参数,@输出参数); call stu();存储过程的查看: 查看当前数据库中所有存储过程的状态:
show procedure status [where db='数据库名'][like '存储过程名']; 查看指定存储过程的创建信息:
show create procedure 存储过程名;存储过程的删除: drop procedure [if exists] 过程名; ”if exists“可避免过程名所指过程不存在时删除出错。触发器触发器能够加强数据的完整性约束触发器需要先声明才能使用,由事件来触发、激活。事件:insert、update、delete触发器的创建: 一条执行语句:
create trigger 触发器名 before|after 触发事件 on 表名 for each row 执行语句 多条执行语句:
delimiter $$
create trigger 触发器名 defore|after 触发事件 on 表名 for each row
begin
执行语句
end $$ 多个触发器时的执行顺序:
before触发器、表操作(insert、update、delete)、after触发器触发器的查看: show triggers; select * from information_schema.triggers;触发器的删除: drop trigger 触发器名;new和old: 在insert型触发器中,new用来表示将要或已经插入的新数据 在update型触发器中,old用来表示将要或已经被修改的原数据,new用来表示将要或已经修改为的新数据。 在delete型触发器中,old用来表示将要或已经删除的原数据。事务四大特征:原子性、隔离性、一致性、持久性原子性(Atomicity):
原子性指的就是 MySQL 中的包含事务的操作要么全部成功、要么全部失败回滚,因此事务的操作如果成功就必须要全部应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency): 一致性指的是一个事务在执行前后其状态一致。比如 A 和 B 加起来的钱一共是 1000 元,那么不管 A 和 B 之间如何转账,转多少次,事务结束后两个用户的钱加起来还得是 1000,这就是事务的一致性。持久性(Durability):
持久性指的是一旦事务提交,那么发生的改变就是永久性的,即使数据库遇到特殊情况比如故障的时候也不会产生干扰。隔离性(Isolation): 隔离性需要重点说一下,当多个事务同时进行时,就有可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read) 的情况,为了解决这些并发问题,提出了隔离性的概念。事务的隔离级别:由低到高 Readuncommitted(读未提交) Readcommitted(读提交) Repeatableread(可重复读) Serializable(可串行划)
知识点SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。1. 数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>2 .数据操纵语言DML数据操纵语言DML主要有三种形式:1) 插入:INSERT2) 更新:UPDATE3) 删除:DELETE3. 数据定义语言DDL数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
表 视图 索引 同义词 簇DDL操作是隐性提交的!不能rollback 4. 数据控制语言DCL数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:1) GRANT:授权。2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。回滚---ROLLBACK回滚命令使数据库状态回到上次最后提交的状态。其格式为:SQL>ROLLBACK;3) COMMIT [WORK]:提交。
在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。(1) 显式提交用COMMIT命令直接完成的提交为显式提交。其格式为:SQL>COMMIT;(2) 隐式提交用SQL命令间接完成的提交为隐式提交。这些命令是:ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。(3) 自动提交若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:SQL>SET AUTOCOMMIT ON;数据模型:层次数据库、网状数据库、关系数据库、面向对象数据库运算符顺序: 算数>比较>逻辑 非关系型数据库: Hbase、Redis、MongoDB关系型数据库: Oracle、DB2、MySQL、Microsoft SQL Srever数据库管理系统DBMS数据库系统DBS三级模式之间的两级映像指的是:外模式/模式映像 内模式/模式映像课后简单题答案第一章 1. 简述数据、数据表、数据库、数据库管理系统、数据库系统之间的联系和区别: 数据:描述事物的符号记录,是信息的载体。 数据表:在数据库中,按一定结构组织起来的数据。 数据库:存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。 数据库管理系统:是数据库的核心,是为数据库的建立、使用和维护而配置的软件。 数据库应用程序:是为了更好创建或利用数据库,采用各种数据库编程语言编写的应用软件。 数据库系统:是由数据库、数据库管理系统、数据库应用程序构成的一个可供用户有效地实现数据库管理的一个系统。 2. 简述数据库的三种关系模型: 关系数据库:使用二维表格结构表示实体以及实体之间的联系的数据模型。 网状数据库:使用网状结构的数据模型,其结构均由图形表示。 层次数据库:用树形结构来表示各类实体以及实体间的联系。
特点:有且只有一个结点没有双亲节点,称为根结点。
根结点以外的其他结点有且只有一个双亲结点 3. MS-DOS下如何连接MySQL服务器、如何启动MySQL服务、如何停止、如何卸载: 连接:mysql -u root -p 启动:net start mysql 停止:net stop mysql 卸载:mysql -remove mysql第二章 1. MySQL中系统数据库主要有哪几个: 数据对象信息Information_schema 服务器性能performnace_schema
用户MySQL 2. 什么是数据库对象: 数据库对象是指数据库中包括数据表、视图、存储过程(函数)和触发器等在内的所有对象。第三章 1. 什么是存储引擎? 存储引擎是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。 2. 常用的存储引擎有哪些? INNODB:给MySQL的表提供了事务提交、回滚、崩溃修复等能力。 MyISAM:不支持事务、也不支持外键、但访问速度比较快,占用空间小,适用对事务没有太多要求仅供访问的表。 MEMORY:访问速度快,安全没有保障,适用应用中涉及数据比较小、需要进行快速访问的场合。 3. MySQL中的基本数据类型有哪些? 整数类型 浮点数类型 定点数类型 字符串类型 日期时间类型 enum枚举类型 set集合类型 二进制数据类型 4. 比较说明char和varchar有何不同: char 定长字符串数据类型,长度确定,不足的空格补足。 varchar 变长字符串数据类型,存储空间取决于字符数。 char允许的字符数少于varchar允许的。 5. 比较说明blob和text不同? blob是二进制字符串,blob列没有字符集 text是非二进制字符串,text列有一个字符集 6. 说明枚举类型和集合类型的区别: 枚举类型只能取各枚举值中的某一个。 集合类型可以取集合中的一个或几个组合。第四章 1. 什么是数据完整性?数据完整性有哪些类型: 数据完整性:指数据的准确性和可靠性,防止数据库中存在不符合语义规定的数据。 包括:
实体完整性、域完整性、参照完整性、用户自定义完整性 2. 常见的约束类型有哪些? 主键约束:primary key,唯一标识,每一表只能有一个主键,值不为空、不能重复。 唯一性约束:unique,保证字段的唯一性 外键约束:foreign key references 默认约束:default 非空约束:not null,字段不为空 auto_increment约束:自动生成ID 3. 为表创建约束有哪几种方法?(t1为表名,dept,id为字段名)create table t1(dept int primary key,id int);
create table t1(dept int,id int,constraint primary key(dept));
create table t1(dept int,id int,constraint primary kye(dept,id)); 4. 显示表的字段结构信息有哪两种方法? desc 表名; show
columns from 表名; 5. 修改表的命令有哪几种形式,命令格式各是怎样的? 修改字段类型:alter table t1 modify dept varchar(10); 修改表名:alter table t1 rename t1_1;或 rename table t1 to t1_1; 修改字段名:alter table t1 change dept dept_1 varchar(10);第五章 1. "insert into"语句一次可以插入多条语句吗?若能其语句格式是什么? 可以,inster into t1 values(12,13),(14,15); 2. 将一个表中指定的数据记录插入到另一个表中对应的字段上的命令是什么? insert into t1(dept,id) select dept,id from t2; insert into t1(dept,id) select dept,id from t2 where 条件; 3. delete和truncate删除表中数据记录有什么不同?
delete from t1 where 条件;
truncate table t1;
两者都能删除数据记录。
a. delete没删除一条记录都会在日志中记录,truncate不会。truncate执行效率比delete高
b. 使用truncate语句删除数据后,若再次添加记录时,其自动增加字段的默认初始值重新由1开始。
c. 使用delete语句删除数据后,若再次添加记录时,其自动增加字段的值为删除时改字段的最大值加1.第六章 1. 什么是逻辑备份?它是如何实现的? 逻辑备份是在MS-DOS命令状态下使用Mysqldump命令来进行的备份。 2.
什么是物理备份?他有哪两种类型?各是怎么实现的? 物理备份就是对数据库的数据文件进行拷贝。 冷备份:停掉MySQL数据库服务后,进行拷贝 热备份:通过表的锁定和解锁的相关操作确保在拷贝文件期间该文件不会被修改。第 八章 1. 简述自然连接和等值连接的联系和区别。 自然连接:通过natural join 连接,其后不带on表达式。匹配并去掉重复记录的一种查询。 等值连接:通过inner join连接,其后带on表达式且为一个等值条件。减去两表有相同字段而值不相等的记录,不去的重复的字段。 2. 简述内连接和外连接的联系和区别。 内连接:保留表关系中所有能跟指定条件匹配得上得数据记录,删除不匹配得数据记录 外连接:不仅保留表关系中所有能跟指定条件匹配得上得数据记录,还会保留部分不匹配得数据记录。 3. 简述左外连接和右外连接得联系和区别。 左外连接:left join…on,减去两表有相同字段而值不相等的记录+左表未匹配的记录数 右外连接:right join…on,减去两表有相同字段而值不相等的记录+右表未匹配的记录数 4. 简述连接查询和合并查询的联系和区别。 连接查询:按照相应字段值的比较条件进行选择生成一个新的关系。 合并查询:通过union或union all 连接对两个结构相同的表的查询语句构成合并查询。 union:合并后去掉两表中重复记录。 union all:合并后不会去掉重复记录。第九章什么是嵌套查询,引入嵌套查询的原因是? 嵌套查询:指一个select查询中嵌套另外的一个或几个select查询。 原因:
实际中的有些问题必须要用嵌套查询才能得到解决。
对于一些也可用连接查询的问题,若使用嵌套查询其效率更高。嵌套查询一般分为哪几种类型? 返回单行单列数据的子查询
select * from t1 where 主表中字段名 条件 (select * from t2 where 条件表达式) 返回单行多列数据的子查询
select * from t1 where 主表中字段名 = (select * from t2 where 条件表达式) 返回多行单列数据的子查询
select * from t1 where 主表中字段名 in (select * from t2 where 条件表达式)
in:集合中的任何一个
select * from t1 where 主表中字段名 >any (select * from t2 where 条件表达式)
=any:集合中的任何一个
>any:大于集合中的最小
<any:小于集合中的最大
select * from t1 where 主表中字段名 >all (select * from t2 where 条件表达式)
>all:大于集合中的最大
<all:小于集合中的最小
select * from t1 where exists (select * from t2 where 条件表达式)
exists:子查询至少应该返回一行 返回多行多列数据的子查询第十章什么是视图,引入视图有什么好处? 视图是由基表产生的一个虚表,视图的建立、修改和删除均不影响基表。 有利于提高复杂查询语句的复用性,提高表操作的安全性。第十一章什么是索引,常见的索引有哪些? 索引:是类似书中目录的一种数据结构(B-树或哈希表),由表中的一个字段或多个字段生成的键组成。保证字段的唯一性,表的完整性。 普通索引、唯一索引、单列索引、多列索引、全文索引、空间索引创建索引有哪几种方法? 创建表的时候创建索引:create table t1 (dept int,id int,index index_dept(dept)); 已存表中创建索引:create index index_dept on t1(dept); 修改表时创建索引:alter table t1 add index index_dept(dept);第十三章什么是存储函数,其创建语句格式是怎么样的? 存储函数:指由用户根据求解问题的需要定义的函数。 delimiter $$ create function fun_dept(dept_1 int) returns int comment '函数作用' begin 函数体语句序列 end $$什么是存储过程,其创建语句格式是怎么样的? 存储过程:是事先定义好,以一个指定的名字存储在服务器中的一组MySQL语句的有序集合。delimiter $$
create procedure 存储过程名()
begin
过程体语句序列
end $$
最后,希望大家成功上岸!}

我都安装好了..就是不知道怎么打开...注意是打开不是启动啊!!!!!!!!!!!!!!试了好多次就是不知道怎么打开mysql界面--求高手指导!!!!!!!!分不够我可...
我都安装好了..就是不知道怎么打开...注意是打开不是启动啊!!!!!!!!!!!!!!试了好多次就是不知道怎么打开mysql界面- -求高手指导!!!!!!!!分不够我可以再加
展开选择擅长的领域继续答题?
{@each tagList as item}
${item.tagName}
{@/each}
手机回答更方便,互动更有趣,下载APP
提交成功是否继续回答问题?
手机回答更方便,互动更有趣,下载APP
展开全部1、 mysql安装好后,在mysql的安装目录中有个bin目录,里面有很多客户端软件,如果是mysql的客户端,找到mysql.exe,这个是用于操作数据库的系统客户端软件。2、 客户端选择:一般情况下,我们在学习的时候会通过使用Windows下的控制台进行访问,即win + R 同时按住打开运行,输入cmd命令进入控制台,然后进入到mysql的bin目录(具体可以看一下Windows下控制器切换路径(百度经验));或者在开发的时候通常会使用一些集成工具,如Navicat之类。3、 数据库操作步骤:学习的时候客户端和服务端是同时安装的,都在一台电脑上,但是要理解,mysql的客户端和服务端通常不会在一台机器上的(服务器在机房,客户端就在个人电脑上),因此是需要进行一些步骤操作的。(下面以windows下的控制台为例)① 连接认证:mysql/mysql.exe -h主机地址 -P端口 -u用户名 -p密码,其中h可以是ip地址也可以是主机名如-hlocalhost/-h127.0.0.1,本地可以省略;-P(大写P)是端口,一般mysql是3306,默认可以省略;-u是用户名,如果没有匿名账号,必填;-p(小写p)是密码,一般必填,最好是输入-p后先回车,后输入密码(密文输入密码,更安全)② 发送SQL指令,SQL(【百科】结构化查询语言Structured Query Language结构化查询语言)是mysql能识别的操作指令,这块如果想深入学习理解可以参照MySQL的API文档或者参考黑马程序员下的6天玩转MySQL,一般情况下分为几大类:DDL:Data Definition Language,数据定义语言,定义结构。如创建数据库:create database `test` charset utf8;DML:Data Manipulation Language,数据操作语言,进行数据操作。如增删改查指令:insert into table values()/delete from table where condition/update table set key = value/select * from tableDCL:Data Controller Language,数据控制语言,进行权限管理。如给用户授权:grant seletet on *.* to 'root'@localhost③ 解析:一般情况下客户端会自动解析MySQL服务器执行返回的结果不需要我们进行额外操作,但是如果是其他编程语言需要使用MySQL执行的结果,那么还需要额外的解析(参照黑马程序员6天玩转MySQL中的PHP操作mysql)④ 断开连接:数据库用完之后,要养成主动断开的习惯(被动也可以,但是如果被动没有断开,那么就会“占线”),mysql的客户端可以使用\q
quit
exit,任意一个退出已赞过已踩过你对这个回答的评价是?评论
收起
展开全部要是想在控制台连接数据库的话,设置一下环境变量就随便打开个控制台就能访问了。展开全部有很多Mysql的可视化工具啊。我最常用的是sqlyong。还有HeidiSQL这个也挺好用啊。安装完后,点击快捷图标,就会打开进入的界面,一般第一次使用都会让你输入访问的地址,端口,用户名和密码的。地址如果是本地就是localhost,如果是其他机器,就是IP地址。
收起
更多回答(8)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
为你推荐:
下载百度知道APP,抢鲜体验使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。扫描二维码下载
×个人、企业类侵权投诉
违法有害信息,请在下方选择后提交
类别色情低俗
涉嫌违法犯罪
时政信息不实
垃圾广告
低质灌水
我们会通过消息、邮箱等方式尽快将举报结果通知您。说明
做任务开宝箱累计完成0
个任务
10任务
50任务
100任务
200任务
任务列表加载中...
}
MySQL 服务和 MySQL 数据库不同,MySQL 服务是一系列的后台进程,而 MySQL 数据库则是一系列的数据目录和数据文件。MySQL 数据库必须在 MySQL 服务启动之后才可以进行访问。本节主要介绍如何启动 MySQL 服务。Windows 系统下启动停止 MySQL 服务的方式主要有以下两种:通过计算机管理方式通过命令行方式通过计算机管理方式通过 Windows 的服务管理器查看修改,步骤如下:步骤 1):在桌面上右击“此电脑”→“管理”命令,如图所示。进入此电脑的管理页面步骤 2):弹出“计算机管理”对话框,双击“服务和应用程序”,用户可查看计算机的服务状态,MySQL 的状态为“正在运行”,表明该服务已经启动,如图所示。在“服务”列表中查看MySQL的状态在图中可以看到,服务已经启动,而且启动类型为自动。如果没有“正在运行”字样,说明 MySQL 服务未启动。可以在此处鼠标右击选择属性进入“MySQL的属性”的界面,如图所示。MySQL 57的属性窗口可以在 MySQL 的属性界面中设置服务状态。可以将服务状态设置为“启动”、“停止”、“暂停”和“恢复”命令。还可以设置启动类型,在启动类型处的下拉菜单中可以选择“自动”、“手动”和“禁用”。这 3 种启动类型的说明如下:自动:MySQL 服务是自动启动,可以手动将状态变为停止、暂停和重新启动等。手动:MySQL 服务需要手动启动,启动后可以改变服务状态,如停止、暂停等。已禁用:MySQL 服务不能启动,也不能改变服务状态。如果需要经常练习 MySQL 数据库的操作,可以将 MySQL 设置为自动启动,这样可以避免每次手动启动 MySQL 服务。当然,如果使用 MySQL 数据库的频率很低,可以考虑将 MySQL 服务设置为手动启动,这样可以避免 MySQL 服务长时间占用系统资源。通过命令行方式可以通过 DOS 命令启动 MySQL 服务,点击“开始”菜单,在搜索框中输入“cmd”,以管理员身份运行,按回车键,弹出命令提示符界面。然后输入net start mysql,按回车键,就能启动 MySQL 服务,停止 MySQL 服务的命令为net stop mysql,如图所示。Dos命令启动MySQL服务注意:net start mysql57和net stop mysql57命令中的 mysql57 是 MySQL 服务器名称,如果你的 MySQL 服务名称是 DB 或其它的名字,应该输入net start DB或其它名称,否则提示服务名无效。
热门文章
html中video高度100%,html - Video 100% width and height - Stack Overflow
50592
打印机smb扫描显示服务器,京瓷打印机smb扫描设置教程!
15254
深度神经网络训练过程中为什么验证集上波动很大_一个值得深思的问题?为什么验证集的loss会小于训练集的loss...
11181
html中怎么点按钮切换图片,如何只用css实现点击按钮切换图片
8120
计算机游戏快速退出的快捷键,结束进程快捷键,手把手教你电脑结束进程快捷键怎么操作...
5386
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
}

我要回帖

更多关于 mysql启动和关闭 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信