mysql创建数据库

Mysql数据库--1

為{幸葍}努か 提交于 2020-02-12 12:37:35
1.DBMS : 数据库安装mysql8.0 2.数据库操作》linux mysql服务启动:service mysql start   ==>1.数据库命令: ==》1.数据库连接命令: mysql -uroot -p1234 -P3306 (-u 用户名 -p 密码 -P 端口号) ==>2.数据库修改密码: update mysql.user set authentication_string=password('123456') plugin='mysql-native-password' where user='root' and Host='localhost' ; ---修改密码             flush privilege; -----刷新权限 ======== ---查看数据库: show databases; ---切换数据库: use database name; ---查看数据库所有表 show tables; ---显示表段信息: describe table name; --- 创建数据库: create database table name; --- 退出数据库: exit ---数据库注释单行-- ... ---多行/*.... */ 来源: https://www.cnblogs.com/chencn/p/12298472.html

mysql数据库一

二次信任 提交于 2020-02-12 12:22:20
数据库 DataBase,DB 持久化储存数据,是一个文件管理系统 方便储存和管理数据 使用类统一的方法操作数据库-----SQl MySQL卸载 找到MySQl的安装目录 找到my.ini文件打开 复制出#Path to the database root,默认为datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/” 控制面板卸载MySQL 找到上面复制的文件夹,删除ProgramData/MySQL目录,卸载干净了。文件夹默认隐藏 MySQL启动 我的电脑、管理、服务和应用程序、服务,找到就可以操作了(这里也是设置软件开机自启动的地方) cmd、services.msc、打开服务窗口 以管理员身份运行cmd、net start mysql(打开mysql)、net stop mysql(关闭mysql) 连接mysql,dos下,mysql -u用户名 -p密码(输入-p后回车,会隐藏你输入的密码) MySQL的登录 dos下,mysql -u用户名 -p密码(输入-p后回车,会隐藏你输入的密码) dos下,mysql -hip -u用户名 -p密码(输入-p后回车,会隐藏你输入的密码) dos下,mysql --host=ip --user=用户名 --password=密码 MySQL退出 exit quit

Mysql索引学习笔记

空扰寡人 提交于 2020-02-12 07:05:38
1、分类   MySQL索引分为 普通索引、唯一索引、主键索引、组合索引、全文索引 。索引不会包含有null值的列,索引项可以为null(唯一索引、组合索引等),但是只要列中有null值就不会被包含在索引中。 (1)普通索引:create index index_name on table(column); 或者创建表时指定,create table(..., index index_name column); (2)唯一索引:类似普通索引,索引列的值必须唯一(可以为空,这点和主键索引不同) create unique index index_name on table(column);或者创建表时指定unique index_name column (3)主键索引:特殊的唯一索引,不允许为空,只能有一个,一般是在建表时指定primary key(column) (4)组合索引:在多个字段上创建索引,遵循最左前缀原则。alter table t add index index_name(a,b,c);    最左前缀原则 : https://mp.weixin.qq.com/s/RemJcqPIvLArmfWIhoaZ1g (5)全文索引:主要用来查找文本中的关键字,不是直接与索引中的值相比较,像是一个搜索引擎,配合match against使用,现在只有char,varchar

MySQL主键和外键使用及说明

人盡茶涼 提交于 2020-02-12 05:29:36
摘自网上一个经典的例子:大哥和小弟 一、外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。 外键的使用条件:     1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);    2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;    3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以; 外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作; 外键的定义语法: [constraint symbol] foreign key [id] (index_col_name, ...) references tbl_name (index_col_name, ...) [on delete {restrict | cascade | set null | on action | set default}] [on update {restrict | cascade | set null | on action | set default}] 该语法可以在 create table 和 alter table 时使用,如果不指定constraint

单例模式概念

痴心易碎 提交于 2020-02-12 05:00:48
单例模式概念 单例模式是指整个应用中类只有一个对象实例的设计模式。 单例模式的特点 单例模式的特点 单例模式的主要特点是“ 三私一公 ”: 需要一个保存类的唯一实例的 私有静态成员变量 构造函数 必须声明为私有的,防止外部程序new一个对象从而失去单例的意义 克隆函数 必须声明为私有的,防止对象被克隆 必须提供一个访问这个实例的 公共静态方法 (通常命名为getInstance),从而返回唯一实例的一个引用。 一个类在整个应用中只有一个实例 类必须自行创建这个实例 必须自行向整个系统提供这个实例 php中使用单例模式的原因 我用php大部分操作都是和各种数据库打交道,包括mysql,redis,memcache等各种关系型和非关系型数据库,所以一个应用中会 存在大量连接数据库的操作,如果不用单例模式,那每次都要new操作,但是每次new都会消耗大量的内存资源和系统资源,而且每次打开和关闭数据库连接都 是对数据库的一种极大考验和浪费。 贴出我之前常用的不好的数据库连接代码,给大家一个错误示范: <?php class MysqlConn { // MYSQL数据库连接信息 const MYSQLHOSTNAME = "127.0.0.1"; const MYSQLUSERNAME = "root"; const MYSQLPASSWORD = "***"; const

MySQL经典面试题

爱⌒轻易说出口 提交于 2020-02-12 04:24:22
MySQL经典面试题 1、MySQL的复制原理以及流程 (1)、复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句; (2)、MySQL复制的线程有几个及之间的关联 MySQL 的复制是基于如下 3 个线程的交互( 多线程复制里面应该是 4 类线程): 1. Master 上面的 binlog dump 线程,该线程负责将 master 的 binlog event 传到slave; 2. Slave 上面的 IO 线程,该线程负责接收 Master 传过来的 binlog,并写入 relay log; 3. Slave 上面的 SQL 线程,该线程负责读取 relay log 并执行; 4. 如果是多线程复制,无论是 5.6 库级别的假多线程还是 MariaDB 或者 5.7 的真正的多线程复制, SQL 线程只做 coordinator,只负责把 relay log 中的 binlog读出来然后交给 worker 线程, woker 线程负责具体 binlog event 的执行; (3)

MySQL经典面试题

孤人 提交于 2020-02-12 03:49:55
MySQL经典面试题 1、MySQL的复制原理以及流程 (1)、复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句; (2)、MySQL复制的线程有几个及之间的关联 MySQL 的复制是基于如下 3 个线程的交互( 多线程复制里面应该是 4 类线程): 1. Master 上面的 binlog dump 线程,该线程负责将 master 的 binlog event 传到slave; 2. Slave 上面的 IO 线程,该线程负责接收 Master 传过来的 binlog,并写入 relay log; 3. Slave 上面的 SQL 线程,该线程负责读取 relay log 并执行; 4. 如果是多线程复制,无论是 5.6 库级别的假多线程还是 MariaDB 或者 5.7 的真正的多线程复制, SQL 线程只做 coordinator,只负责把 relay log 中的 binlog读出来然后交给 worker 线程, woker 线程负责具体 binlog event 的执行; (3)

MySQL经典面试题

巧了我就是萌 提交于 2020-02-12 03:14:55
MySQL经典面试题 1、MySQL的复制原理以及流程 (1)、复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句; (2)、MySQL复制的线程有几个及之间的关联 MySQL 的复制是基于如下 3 个线程的交互( 多线程复制里面应该是 4 类线程): 1. Master 上面的 binlog dump 线程,该线程负责将 master 的 binlog event 传到slave; 2. Slave 上面的 IO 线程,该线程负责接收 Master 传过来的 binlog,并写入 relay log; 3. Slave 上面的 SQL 线程,该线程负责读取 relay log 并执行; 4. 如果是多线程复制,无论是 5.6 库级别的假多线程还是 MariaDB 或者 5.7 的真正的多线程复制, SQL 线程只做 coordinator,只负责把 relay log 中的 binlog读出来然后交给 worker 线程, woker 线程负责具体 binlog event 的执行; (3)

MySQL经典面试题

流过昼夜 提交于 2020-02-12 03:09:24
1)、复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句; (2)、MySQL复制的线程有几个及之间的关联 MySQL 的复制是基于如下 3 个线程的交互( 多线程复制里面应该是 4 类线程): 1. Master 上面的 binlog dump 线程,该线程负责将 master 的 binlog event 传到slave; 2. Slave 上面的 IO 线程,该线程负责接收 Master 传过来的 binlog,并写入 relay log; 3. Slave 上面的 SQL 线程,该线程负责读取 relay log 并执行; 4. 如果是多线程复制,无论是 5.6 库级别的假多线程还是 MariaDB 或者 5.7 的真正的多线程复制, SQL 线程只做 coordinator,只负责把 relay log 中的 binlog读出来然后交给 worker 线程, woker 线程负责具体 binlog event 的执行; (3)、MySQL如何保证复制过程中数据一致性及减少数据同步延时 一致性主要有以下几个方面

PHP用单例模式实现一个数据库类

ぃ、小莉子 提交于 2020-02-12 03:08:32
使用单例模式的出发点:     1、php 的应用主要在于数据库应用 , 所以一个应用中会存在大量的数据库操作 , 使用单例模式 , 则可以避免大量的 new 操作消耗的资源。   2、如果系统中需要有一个类来全局控制某些配置信息 , 那么使用单例模式可以很方便的实现 . 这个可以参看 ZF的 FrontController 部分。   3、在一次页面请求中 , 便于进行调试 , 因为所有的代码 ( 例如数据库操作类 db) 都集中在一个类中 , 我们可以在类中设置钩子 , 输出日志,从而避免到处 var_dump, echo 。 创造单例注意:   1、一个雷只能有一个类对象(只能实例化一个对象)   2、它必须自己创建这个实例   3、它必须自行向整个系统提供这个实例   4、构造函数和克隆函数必须声明为私有的,这是为了防止外部程序 new 类从而失去单例模式的意义   5、 getInstance()方法必须声明为公有的,必须调用此方法以返回唯一实例的一个引用   6 、拥有一个保存类的实例的静态成员变量   7、PHP的单例模式是相对而言的,因为PHP的解释运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收   8 、拥有一个访问这个实例的公共的静态方法(常用 getInstance() 方法进行实例化单例类,通过 instanceof