MYSQL教程:数据库具体操作

直言不讳99

直言不讳99

2016-02-19 16:07

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

  1. 连接数据库服务器

  $ ./mysql -h host_name -u user_name -p

  -h host_name(--host=host_name),连接的数据库主机名,如果在本地主机上则可省略。

  -u user_name(--user=user_name),数据库用户名,在unix系统上,如果系统的登录名与数据用户名一样,则可省略。在windows系统中,可通过设置环境变量USER来给出数据库用户名,如set USER=username。

  -p(--password),提供数据库用户密码,有该选项mysql就会提示你输入密码。输入的密码以星号显示,以确保安全。也可直接在-p后写上密码(-p和密码间不能有空格),但这不安全,不推荐。

  连接成功后,mysql数据库服务器会显示一些欢迎信息。接着就可用mysqluse database_name命令打开指定的数据库。

  本文由网页教学网整理发布!转载请注明出处,谢谢!

  $ ./mysql -h host_name -u user_name -p database_name命令可直接打开指定数据库。

  2. 更新用户密码

  mysqlupdate user set password=passowrd('your passowrd') where host='%';

  刷新权限设置:mysqlflush privileges;

  3. MySQL读取配置文件的顺序

  my.cnf是MySQL数据库的配置文件,它存在多个地方,在/etc目录,数据目录和用户主目录都有。放在不同位置,里面的选项有不同的作用范围,下面是MySQL读取配置文件的顺序和作用。

  mysql 读取配置文件的顺序:

  /etc/my.cnf       Global options.

  DATADIR/my.cnf      Server-specific options.

  defaults-extra-file   The file specified with the --defaults-extra-file option.

  ~/.my.cnf        User-specific options.

  4. 重设置MySQL管理员密码的方法

  有时我们会因为设置原因或时间长了忘记了数据库管理员的密码,使得我们被关在MySQL服务器外。MySQL服务器提供了一种方法可使我们在服务器上重设密码。在windows和linux/unix平台上操作稍有不同,下面分别介绍:

  Linux/Unix平台下:

  用 % kill -TERM PID关闭服务器,用-TERM信息可使服务器在关闭前把内存中的数据写入磁盘。如果服务器没有响应,我们可用% kill -9 PID来强制删除进程,但不建议这样做。这时内存中的数据不会写入磁盘,造成数据不完整。如果你是用mysql_safe脚本启动MySQL服务器的,这个脚本会监控服务器的运行情况并在它被终止时重启服务器,所以如需关闭服务器,要先终止该进程,然后再真正终止mysqld进程。

  使用--skip-grant-tables参数启动MySQL Server,这时MySQL服务器将不使用权限表对连接操作进行验证。你就可在不提供root密码的情况下连接上服务器,并获得root的权限。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  % mysqld_safe --skip-grant-tables & 

  用以下命令登录服务器,并重设密码:

  % mysql -u root     

  #不用密码就可连接到服务器

  mysql use mysql

  mysql set password for 'root'@'localhost' = password('password');


  修改MySQL服务器帐户密码有三种方式,你可参考本笔记中数据库日常管理一章中的相关内容。在这种环境下,使用mysaladmin修改密码好象不行,还是提示要输入密码。

  关闭服务器,再用正常方式启动服务器。

  windows平台下:

  用管理员帐号登录服务器,关闭MySQL数据库服务器。

  使用--skip-grant-tables参数启动服务器:

  c:mysqlbinmysqld-nt --skip-grant-tables 

  重新打开一个console窗口,用mysql命令登录服务器设置root的新密码:

  c:mysqlbinmysql

  mysql use mysql

  mysql set password for 'root'@'localhost' = password('password');

  关闭服务器,再用正常方式启动服务器。

  5. NULL值

  NULL是空值,代表什么也没有。它不能与值进行比较操作和算术操作,也不能和NULL进行比较,因为两个空值比较是没有意义的。我们可用“is NULL” 或 “is not NULL”来判断是不空值。如:

  mysql select * from test where mytest is NULL;

  mysql select * from test where mytest is not NULL;

  在MySQL3.23以后的版本有一个新的比较操作符“=”,它可对NULL值进行相等比较。如:

  mysql select * from test where mytest = UNLL;

  mysql select * from test where not (mytest =);

  如果查询后排序中的数据中包含NULL,则从MySQL4.0.2开始,有NULL值的数据行总是出现在查询结果的开头,即使设置的desc参数。4.0.2以前版本,如果设置了asc,则出在查询结果的开头,如果设置了desc,则出现在查询结果的结尾。

  6. 使用SQL变量

  MySQL3.23.6以后的版本允许通过查询结果来设置变量,设置好的变量可在以后使用。变量用@name定义,赋值方式用@name:=value。下面是一个在查询语句中进行赋值和使用变量的例子:

  mysql select @name:=id from test where mytest="test";

  mysql select * from test where mytest=@name

  7. 改变默认提示符

  用mysql登录进数据库后,MySQL数据的默认提示符是“mysql”,我们可设置它根据用户打开的数据库名而变化,如:

  mysqlprompt d_

  noneuse test

  testuse mysql

  mysql

  prompt为设置命令,d代表当前数据库,_代表一个空格。

  8. 非优化的全数据表DELETE操作

  为了清空数据表,又需知道删除的行数和保持AUTO_INCREMENT序列的值,需用以下的删除语句:

  # delete from table_name where 1;

  9. MySQL事务处理示例

  MYSQL高级特性 -- 事务处理下面以两个银行账户之间的转账为例子进行演示。要使用MySQL中的事务处理,首先需要创建使用事务表类型(如BDB = Berkeley DB或InnoDB)的表。

  CREATE TABLE account (

  account_id BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,

  balance DOUBLE

  ) TYPE = InnoDB;

  要在事务表上使用事务处理,必须要首先关闭自动提交:

  SET AUTOCOMMIT = 0;

  事务处理以BEGIN命令开始:

  BEGIN;

  现在mysql客户处在于服务器相关的事物上下文中。任何对事务表所做的改变在提交之前不会成为永久性的改变。

  UPDATE ACCOUNT SET balance = 50.25 WHERE account_id = 1;

  UPDATE ACCOUNT SET balance = 100.25 WHERE account_id = 2;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  在做出所有的改变之后,使用COMMIT命令完成事务处理:

  COMMIT;


  当然,事务处理的真正优点是在执行第二条语句发生错误时体现出来的,若在提交前终止整个事务,可以进行回滚操作:

  ROLLBACK;

  下面是另一个例子,通过MYSQL直接进行数学运算:

  SELECT @first := balance FROM account WHERE account_id = 1;

  SELECT @second := balance FROM account WHERE account_id = 2;

  UPDATE account SET balance = @first - 25.00 WHERE account_id = 1;

  UPDATE account SET balance = @second + 25.00 WHERE account_id = 2;

  除了COMMIT命令外,下列命令也会自动结束当前事务:

  ALTER TABLE

  BEGIN

  CREATE INDEX

  DROP DATABASE

  DROP TABLE

  LOCK TABLES

  RENAME TABLE

  TRUNCATE

  UNLOCK TABLES

展开更多 50%)
分享

猜你喜欢

MYSQL教程:数据库具体操作

编程语言 网络编程
MYSQL教程:数据库具体操作

让MySQL数据库自动恢复的具体操作

MySQL mysql数据库
让MySQL数据库自动恢复的具体操作

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

.Net中操作MySql数据库

编程语言 网络编程
.Net中操作MySql数据库

使用SQL操作MySQL数据库

编程语言 网络编程
使用SQL操作MySQL数据库

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

给宝宝喂药的具体操作方法

新生儿护理 新生儿 新生儿呵护
给宝宝喂药的具体操作方法

商转公积金贷款流程 具体操作步骤

个人理财 理财方法
商转公积金贷款流程 具体操作步骤

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用MySQL数据库的23个注意事项

使用MySQL数据库的23个注意事项

JQuery实现自定义对话框的代码

JQuery实现自定义对话框的代码
下拉加载更多内容 ↓