MYSQL教程:数据库具体操作

2016-02-19 16:07 9 1 收藏

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

【 tulaoshi.com - 编程语言 】

  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.

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

  ~/.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的权限。

  % 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,则出现在查询结果的结尾。

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

  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;

  在做出所有的改变之后,使用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

来源:http://www.tulaoshi.com/n/20160219/1611094.html

延伸阅读
标签: 电脑入门
有很多人,都说自已的计算机如何慢、如何慢,其实令自已的计算机慢的原因,如果将所有原因算出来,简直多的是!不过我会在这里简介一下. 在开机时加载太多程序 桌面上开启桌布 没有定期清理硬磁盘和重组硬磁盘 以下的,我就会很详细地说明一下如何加速计算机和令计算机慢的病征!解决七大常见影响计算机表现的原凶当计算机忽然慢下来时,你可...
定期的备份可使我们数据库崩溃造成的损失大大降低。 在MySQL中进行数据备份的方法有两种,一种是使用mysqldump程序,一种是使用mysqlhotcopy、cp、tar或cpio等打包程序直接拷贝数据库文件。mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。使用mysqlhotcopy等程序备份速度快,因为它直接对系统文件进行操作,需人为协调数据库数据...
innodb表正好相反;行级锁表 互联网服务,不算支付性的服务外,互动产品,新闻系统等等一般都是读多,写少。用myisam表比较合适。 表的设计 定长表:所有列的字段长度都是定长的。可以去查mysql的手册不定长字段是VARCHAR、BLOB或TEXT。int char都是定长的,定长表占用空间会大。 动态表:就是字段不是都定长的。 定长表要比动态表检索速度快...
标签: MySQL mysql数据库
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是MySQL管理员造成破坏。管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事! 备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(...
标签: ASP
<1 .数据库连接(用来单独编制连接文件conn.asp) < % Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\bbs\db1\user.mdb") % (用来连接bbs\db1\目录下的user.mdb数据库) <2 显示数据库记录 原理:将数据库中的记录一一显示到客户...

经验教程

298

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部