这里写目录标题
三级目录
1、运行mysqld --install时出现Install/Remove of the Service Denied!问题的原因?
答:需使用管理员权限打开cmd。可用方法:打开任务管理器(快捷键:ctrl+Alt+Del)。
2、**打开服务:net start mysql
3、mysql -u root -p #-u(user),-p(password)
4、更改密码:alter user ‘root’@‘localhost’ identified by ‘密码’
5、mysqld.exe:服务器端
mysql.exe:客户端
6、服务器端初始化操作:mysqld --initialize-insecure
7、查看数据库:**show databases
8、**创建数据库:**create database db1;
9、添加环境变量作用:可以进行在cmd根目录进行访问
10、权限:grant all priviliges on ’ 数据库.表 ’ to ‘用户名’
取消权限:revoke ‘ ’ from ’ ’
.*代表所有
11、设置默认编码
create database db1 default charset utf8;
create table t1(id int,name char(10)) engine=innodb default charset=utf8
12、engine=innodb与engine=myisam区别?
myisam执行读取操作的速度很快,不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:比如如果你的硬盘崩溃了,数据文件也将无法恢复。因此在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据。
innodb可以提供事务控制能力功能,确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退。支持COMMIT、ROLLBACK和其他事务特性。
13auto_increment:自增(一个表只能有一个自增列)
primary key:约束(不能重复且不能为空);加速查找。
例如:
id int not null auto_increment primary key
14、清空表
delete from t1
truncate table t1
delete 可以使用where语句对要清空的内容进行选择,当表中的自增字段时,没有where的语句起始并不会恢复成1。而truncate 则会重新从1开始。
15、数据类型
整数型:tiny int、int、bigint
signed(有负号) 、unsigned(无负号)
小数型:float、double、decimal
decimal(10,5)表示有效数字10个,保留小数后面5位
字符串型:char(会自动补全)查找速度快,最大长度255
varchar(不自动补全)节省空间,最大长度255
在构建表时可以把定长的列放前面。
text:最大存储65535(2的16次方-1)
mediumtext:2的24次方-1
longtext:2的32次方-1
时间类型:
枚举数据类型:eum
16、外键约束
constraint 约束的名称 foreign key(要约束的键) references 表(键)
constraint fk_user_depar foreign key(department_id) references department(id)
补充:主键的作用:保证数据的唯一性,一张表只有一个主键,但一个主键可以由一列或者多列表示一个主键。
17、自增列设置步长
基于会话级别(一个登录课看作一个会话)
show session variables like 'auto_inc%'
set session auto_increment_increment=2; #设置步长
set session auto_increment_offset=10; #设置初始值
基于全局级别:
show global variables like 'auto_inc%'
set global auto_increment_increment=2; #设置步长
set global auto_increment_offset=10;
18、唯一索引
索引的作用是为了加速查找。
num int
unique uq(num)
约束不能重复、可以为空。
19、外键指一对一、一对多、多对多
20、增加
insert into tb1() values ();
insert into tb1() select ___ from tb2;
21、查找
通配符:% 、_
select * from 表 where like ’ a%’ (以a开头的所有、多个字符)
select *from 表 wher like ‘a_’ (以a开头的所有、一个字符)
limit 3: 显示前3条.
limit 2,3: 2表示起始位置,3表示取几条
limit 10 offset 5: 10表示取10条,5表示起始位置。
可用于分页。
22、排序
默认升序
根据id降序
select * from table order by id desc
升序为asc
23、B树
用于数据库索引。
24、数据模型通常由3部分组成:数据结构、数据操作、数据完整性约束。
数据模型用来对现实世界进行抽象的的工具。
数据模型可分为概念模型(用户的观点)、数据模型(计算机系统的观点,一般需要严格的形式化定义和一组严格定义里语法和语义的语言)
25、数据库系统的特点有哪些?
(1)数据结构化。是数据库系统和文件系统的本质区别。
(2)数据共享性高、冗余度低、易扩充。数据库的数据不再面向某个 应用而是面向整个系统。可以被多个用户、多个应用以多种不同的语言共享使用。
(3)数据独立性高。使数据独立于应用程序。
(4)数据由DBSM统一管理和控制。
26、CHARINDEX用法
通过CHARINDEX如果能够找对应的字符串
基本语法如下:
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000
expressionToSearch :用于被查找的字符串。
start_location:开始查找的位置,为空时默认从第一位开始查找。
27、host is not allowed to connect to this MYSQL server 问题
(1)mysql -u root -p;输入密码登入mysql;
(2)use mysql命令,进入系统数据库.
(3) select host from user where user = ‘root’
(4)flush privileges
28、ql server查询一个数据库的所有表名的SQl语句
select *
from sysobjects --系统对象表
where xtype = ‘U’ --U表示所有用户表