当前位置:网站首页 > SQL数据库编程 > 正文

sql文件转换word(sql文件转换工具)



mysql安装简单总结
如果忘记密码怎么办?
  • 1.找到my.ini 文件
  • 2.设置权限认证跳过 也就是在 [mysqld] 下 加上 skip-grant-tables
  • 3.重启 mysql 服务
    这里可以直接在命令行中连续输入 或者在服务里找到mysql 服务重启

重启后, 以 mysql -uroot -p 登陆 会发现我们可以不需要密码就可以登陆

  • 4.重新设置密码

首先先选择 mysql 数据库

  • 然后更新 password
  • 5.在 my.ini 文件中去掉 加上的 skip-grant-tables
  • 6.重启 mysql 服务
  • 7.以新密码登陆命令行进入 mysql 环境
修改字符集编码
  • 在mysql的安装目录下面创建一个 my.ini 配置文件(unxi系统是 my.cnf 文件),文件中写上以下内容:

1.创建数据库

  • 语法
  • 数据库命名规则
  • 可以由字母、数字、下划线、@、#、$
  • 区分大小写
  • 唯一性
  • 不能使用关键字,如 create select
  • 不能单独使用数字
  • 最长128位

2.数据库相关操作

1.查看数据库
2.选择数据库
3.删除数据库
4.修改数据库

3.数据表相关操作

引擎简单使用
1.创建表时指定引擎
2.在配置文件中指定默认的存储引擎
3.不同引擎在创建表的时候生成文件不同
创建四个表,分别使用innodb, myisam, memory, blackhole存储引擎, 进行插入数据测试
建表语法
示例代码
插入数据
查看表结构
MySQL的基本数据类型
  • 数值类型
浮点型测试
日期类型

类型:date, time, datetime, timestamp, year

作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等

日期类型测试
字符串类型

类型:char, varchar

作用:名字,信息等等

char和varchar性能对比:

以char(5)和varchar(5)来比较,假入我要存三个人名:sb, ssb1, ssbb2

char:(存储块,浪费空间,安全性低)

优点:简单粗暴,不管你是多长的数据,我就按照规定的长度来存,5个5个的存,三个人名就会 类似这种存储:sb ssb1 ssbb2,中间是空格补全,取数据的时候5个5个的取,简单粗暴速度快

缺点:貌似浪费空间,并且我们将来存储的数据的长度可能会参差不齐

varchar:(存储慢,节省空间,安全性高)

varchar类型不定长存储数据,更为精简和节省空间

例如存上面三个人名的时候类似于是这样的:sbssb1ssb2, 连着的

优点:节省了一些硬盘空间,一个accsii吗的字符用一个bytes长度就能表示,但是也并不一定比char省,看一下官网给出的一个表格对比数据,当你存的数据正好是你规定的长度的时候,varchar反而占用的空间比char要多。

缺点:存取速度都慢

其他的字符串类型:binary、varbinary、blob、text

枚举和集合

字段的值只能在给定范围中选择,如单选框,多选框,如果你在英语程序或者前端不做选项限制,在MySQL的字段里面也能做 限制

enum单选 只能在给定的范围内选一个值,如性别sex 男 male/女 female

set多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3…)

测试
表的完整性约束

介绍

约束条件与数据类型的宽度一样,都是可选参数

作用:用于保证数据库的完整性和一致性

主要分为:

说明

not null与default

是否可空,null表示空,非字符串 not null - 不可空 null- 可空

测试

注意一点:如果是非严格模式,int类型不传值的话会默认为0,因为null不是int类型的,字段是int类型,所以它会自动将null变为0

unique

独一无二,唯一属性:id,身份证号等

是一种key,唯一键,是在数据类型之外的附加属性,其实还有加速查询的作用,后面再讲这个。

创建unique

创建联合唯一

primary key

从约束角度看primary key字段的值不为空且唯一,那我们直接使用not null+unique不就可以了吗,要它干什么?

主键primary key是innodb存储引擎组织数据的依据,innodb称之为索引组织表,一张表中必须有且只有一个主键。

一个表中可以:

单列做主键 多列做主键(复合主键或者叫做联合主键)

在没有设置主键的时候,not null+unique会被默认当成主键

单列主键测试
联合主键解释
多列(联合)主键测试
auto_increment

约束字段为自动增长,被约束的字段必须同时被key约束,也就是说只能给约束成key的字段嘉自增属性,默认起始位置为1,步长也为1。

auto_increment测试
foreign key

快速理解foreign key(外键其实就是标明表和表之间的关系,表和表之间如果有关系的画就三种:一对一,多对一,多对多)

总结一下foreign key的下面的几个约束作用:

1.先要建立被关联的表才能建立关联表

2.在插入数据记录的时候,要先想被关联表中插入数据,才能王关联表里面插入数据

3.更新或者删除数据的时候,都需要考虑关联表和被关联表的关系

解决方案:

a.删除表的时候,先删除关联表,再删除被关联表

b.重建表的时候,在加外键关联的时候加上这两句:on delete cascade 和 on update cascade

一对多简单示例
多对多简单示例
一对一简单示例
修改表 alter table

给一个字段添加外键属性的语句:alter table 表2名 add foreign key(表2的一个字段) references 表1名(表1的一个字段);

注意一点:在mysql里面表名是不区分大小写的

简单示例:

MySQL数据操作:DML

1.插入数据insert

语法

2.更新数据update
3.删除数据delete
4.查询数据select

关键字的执行优先级(重点)

简单查询

查询操作示例

where约束

where语句中可以使用:

  • 1.比较运算符:> < >= <= <> !=
  • 2.between 80 and 100 值在80到100之间
  • 3.in(80,90,100) 值是80或90或100
  • 4.like 'egon%'
  • 5.逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not

示例如下:

分组查询group by

为什么要分组?

注意:

聚合函数
having过滤

having与where不一样的地方在于!!!!!!

having简单测试
distinct去重
查询排序order by
limit显示查询的记录数
正则表达式查询
5.多表查询
多表连接查询

交叉连接:不适用于任何匹配条件。生成笛卡尔积

补充一点:select查询表的时候,后面可以跟多张表一起查询下:

内连接:只连接匹配的行

但是你看上面的代码有没有上面不太好的地方,是让我们能够完成我们的事情,但是代码可读性不好,所以以后不要这么写

所以mysql为我们提供了一些专门做连表操作的方法

外连接之左连接:优先显示左表全部记录

外连接之右连接:优先显示右表全部记录

全外连接:显示左右两个表全部记录

子查询

看操作

带in关键字的子查询示例

带比较运算符的子查询示例

带exists关键字的子查询示例

exists关键字表示存在。在使用exists关键字时,内层查询语句不返回查询的记录。而是返回一个真假值。True或False 当返回True时,外层查询语句将进行查询;当返回值为False时,外层查询语句不进行查询。还可以写not exists,和exists的效果就是反的

们把上面的查询结果用括号括起来,它就表示一条id=200的数据,然后我们通过员工表来查询dep_id=这条数据作为条件来查询员工的name
select name from employee
where dep_id = (select id from department
where name = ‘技术’);

带in关键字的子查询示例

带比较运算符的子查询示例

带exists关键字的子查询示例

exists关键字表示存在。在使用exists关键字时,内层查询语句不返回查询的记录。而是返回一个真假值。True或False 当返回True时,外层查询语句将进行查询;当返回值为False时,外层查询语句不进行查询。还可以写not exists,和exists的效果就是反的

到此这篇sql文件转换word(sql文件转换工具)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • mysql查看主键索引(mysql主键索引重复创建哪个会生效)2025-02-21 07:45:05
  • pymssql连接数据库 报错(使用pymssql连接数据库报错)2025-02-21 07:45:05
  • sql文件(sql文件怎么导入数据库)2025-02-21 07:45:05
  • redhat enterprise 9(redhat enterprise 9 安装MySQL 8)2025-02-21 07:45:05
  • mysql主键(mysql主键查询快还是索引查询快)2025-02-21 07:45:05
  • mysql导入sql文件(mysql导入sql文件乱码)2025-02-21 07:45:05
  • mysql主键自增怎么写(mysql数据库主键自增长命令)2025-02-21 07:45:05
  • 达梦数据库执行sql脚本(达梦数据库执行sql脚本命令)2025-02-21 07:45:05
  • mysql主从主键冲突(mysql主从和主主)2025-02-21 07:45:05
  • sqlyog打开sql文件(sql server怎么打开sql文件)2025-02-21 07:45:05
  • 全屏图片