当前位置:   article > 正文

mysql 动态网页_mysql

动态网页 mysql

# Mysql

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational

Database Management System:关系数据库管理系统)应用软件之一。

## 安装

压缩版安装

1. mysql-5.7.4-m14-winx64.zip下载

2. 解压到D:/mysql.(路径自己指定)

3. 在D:/mysql/mysql-5.7.4-m14-winx64下新建my.ini配置文件

内容如下:

> ####################配置文件开始###################

> # For advice on how to change settings please see

> # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

> # *** default location during install, and will be replaced if you

> # *** upgrade to a newer version of MySQL.

> [client]

> default-character-set=utf8

> [mysqld]

> port=3306

> basedir ="D:/Program Files/MySQL/MySQL Server 5.7"

> datadir ="D:/Program Files/MySQL/MySQL Server 5.7/data/"

> tmpdir ="D:/Program Files/MySQL/MySQL Server 5.7/data/"

> socket ="D:/Program Files/MySQL/MySQL Server 5.7/data/mysql.sock"

> log-error="D:/Program Files/MySQL/MySQL Server 5.7/data/mysql_error.log"

> character_set_server=utf8

> init_connect='SET NAMES utf8'

> #server_id = 2

> #skip-locking

> max_connections=100

> table_open_cache=256

> query_cache_size=1M

> tmp_table_size=32M

> thread_cache_size=8

> innodb_data_home_dir="D:/Program Files/MySQL/MySQL Server 5.7/data/"

> innodb_flush_log_at_trx_commit =1

> innodb_log_buffer_size=128M

> innodb_buffer_pool_size=128M

> innodb_log_file_size=10M

> innodb_thread_concurrency=16

> innodb-autoextend-increment=1000

> join_buffer_size = 128M

> sort_buffer_size = 32M

> read_rnd_buffer_size = 32M

> max_allowed_packet = 32M

> explicit_defaults_for_timestamp=true

> sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

> #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

> ####################配置文件结束###################

4. 重点是以下配置,其中datadir的目录名称必须是:D:/Program Files/MySQL/MySQL Server 5.7。

在windows系统环境变量path,加入如下内容

D:/mysql/mysql-5.7.4-m14-winx64/bin;(注意加分号)

5. 将mysql注册为windows系统服务

具体操作是在命令行中执行以下命令(需要以管理员身份运行命令行):

增加服务命令:mysqld install MySQL --defaults-file="D:/Program Files/MySQL/MySQL Server 5.7/default.ini"

移除服务命令为:mysqld remove

6. 第5步成功后,打开系统服务管理

可以看到mysql系统服务(此处需要注意):

需要在mysql服务的登陆属性里配置管理员用户登陆(不配置从服务管理里启动报1035错误,在命令行启动报启动失败)

~~~

在命令行启动mysql命令为: net start mysql

关闭mysql命令为:net stop mysql

~~~

修改root的密码为123456

~~~

命令行执行:mysql –uroot

mysql>show databases;

mysql>use mysql;

mysql> UPDATE user SET password=PASSWORD('root') WHERE user='root';

mysql> FLUSH PRIVILEGES;

mysql> QUIT

~~~

新版本

`update MySQL.user set authentication_string=password('root') where user='root' ;`

**注意**

远程登陆

允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:

1)在本机先使用root用户登录mysql:

`命令行执行:mysql -u root -p`

输入密码(第7步中设置的密码):123456

2)进行授权操作:

`mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;`

重载授权表:

~~~

mysql>FLUSH PRIVILEGES;

退出mysql:quit..

~~~

data文件夹

5.7版本在解压后是没有data这个文件夹的,不要手动建立一个空的data文件夹,而是进入cmd,输入mysqld --initialize-insecure自动生成无密码的root用户,同时自动生成一个data文件夹,这时候再进行MySQL的安装,net start mysql,启动服务。

如果你已经安装好了MySQL,那么先删除你手动建立的data文件夹,然后再输入mysqld --initialize-insecure【如果不输入-insecure会生成随机密码,第一次登陆会出现问题】,启动服务即可

服务没有安装。

解决办法: 在 mysql bin目录下 以管理员的权限 执行 `mysqld -install`命令

然后仍然以管理员的权限` net start mysql `开启Mysql服务了。

安装版安装

注意

这里只有关键步骤截图

配置

添加环境变量

命令行操作

常见命令

mysql服务

~~~

net stop mysql

net start mysql

~~~

登陆mysql

mysql -h 主机ip -u 用户名 -p 用户密码

一般操作

Show Databases;

Use database-name

Show tables;

Select

Insert

update

delete

可视化工具

(Navicat Premium)

## Select

SELECT语句的执行的逻辑查询处理步骤:

> (8)SELECT (9)DISTINCT

> (11)

> (1)FROM

> (3)  JOIN

> (2)  ON

> (4)WHERE

> (5)GROUP BY

> (6)WITH {CUBE | ROLLUP}

> (7)HAVING

> (10)ORDER BY

> 每个步骤产生一个虚拟表,该虚拟表被用作下一个步骤的输入。只有最后一步生成的表返回给调用者。如

> 果没有某一子句,则跳过相应的步骤。

> 1. FROM:对FROM子句中的前两个表执行笛卡尔积,生成虚拟表VT1。

> 2. ON:对VT1应用ON筛选器。只有那些使为真的行才被插入VT2。

> 3. OUTER(JOIN):如果指定了OUTER JOIN,保留表中未找到匹配的行将作为外部行添加到VT2,生成VT3。

> 如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1到步骤3,直到

> 处理完所有的表为止。

> 4. 对VT3应用WHERE筛选器。只有使为TRUE的行才被插入VT4。

> 5. GROUP BY:按GROUP BY 子句中的列列表对VT4中的行分组,生成VT5。

> 6. CUBE|ROLLUP:把超组插入VT5,生成VT6。

> 7. HAVING:对VT6应用HAVING筛选器。只有使为TRUE的组才会被插入VT7。

> 8. SELECT:处理SELECT列表,产生VT8。

> 9. DISTINCT:将重复的行从VT8中移除,产生VT9。

> 10. ORDER BY:将VT9中的行按ORDER BY子句中的列列表排序,生成一个有表(VC10)。

> 11. TOP:从VC10的开始处选择指定数量或比例的行,生成表VT11,并返回给调用者。

## where

> 操作符 描述

> = 等于

> <> 不等于

> > 大于

> > 小于

> >= 大于等于

> <= 小于等于

BETWEEN 在某个范围内

LIKE 搜索某种模式

**注释**:在某些版本的 SQL 中,操作符 <> 可以写为 !=。

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

# Insert

`INSERT INTO 表名称 VALUES (值1, 值2,....)`

我们也可以指定所要插入数据的列:

`INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)`

## Update

`UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值`

## Delete

`DELETE FROM 表名称 WHERE 列名称 = 值`

# 实例

## 查询

~~~

SELECT

SELECT * FROM dm_info

SELECT 查询的列 FROM 表名

SELECT name FROM dm_info

* 表示所有的列

SELECT * FROM dm_info WHERE valid =1

SELECT * FROM dm_info ORDER BY id DESC #降序

SELECT num nm,batch,name ,major FROM dm_info ORDER BY batch DESC,major DESC

SELECT * FROM dm_info WHERE `name` LIKE '祥' # _代表一个任意字符 %代表任意多个字符

模糊查询的 %key%

SELECT * FROM dm_info WHERE id <>10 #I= or <>

SELECT * FROM dm_info WHERE 4 < id<10 # 4

SELECT * FROM dm_info WHERE id BETWEEN 4 and 10 # 4<=id<=10

SELECT * FROM dm_info WHERE `name` LIKE "?%"

SELECT * FROM dm_info WHERE `name` LIKE "1" or 1=1 or "%" #曾" or 1=1 or `name` = "

SELECT DISTINCT major FROM dm_info #DISTINCT 去除重复的数据 --- union full union

SELECT batch FROM dm_info

SELECT COUNT(batch) FROM dm_info

SELECT AVG( batch) FROM dm_info #GROUP BY 分组

~~~

分页

~~~

SELECT * FROM dm_info ORDER BY id DESC LIMIT 0,10

SELECT * FROM dm_info LIMIT 10

#SELECT * FROM (SELECT * FROM dm_info ORDER BY id ASC LIMIT 20 ) as ttt ORDER BY id DESC LIMIT 10

SELECT * FROM dm_info WHERE id in(5,6,7,8,9)

SELECT * FROM dm_info WHERE id NOT in(5,6,7,8,9)

SELECT * FROM dm_info WHERE batch is not null

SELECT * FROM dm_info where id >14 and id<25

SELECT * FROM dm_info LIMIT 6,2

~~~

## 非查询

更新 UPDATE

~~~

UPDATE dm_info

SET `name`='1',sex='未知',batch='100'

WHERE id=10

~~~

删除 DELETE

` delete FROM dm_info WHERE id<10`

添加 insert

~~~

INSERT INTO dm_info(name,sex,) VALUES('zxy','未知')

INSERT INTO `dm_info` VALUES (DEFAULT,'zxysilent', '曾祥银', '男', 'XXYJSKX', '信息与计算科学', '汉族', '南充市', 'abddddd', true);

~~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/654598
推荐阅读
相关标签
  

闽ICP备14008679号