MySQL教程:数据库具体操作
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数据库服务器会显示一些欢迎信息。接着就可用mysql>use database_name命令打开指定的数据库。
| $ ./mysql -h host_name -u user_name -p database_name命令可直接打开指定数据库。 | |
2. 更新用户密码
mysql>update user set password=passowrd('your passowrd') where host='%';
刷新权限设置:mysql>flush 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的权限。
% mysqld_safe --skip-grant-tables &
用以下命令登录服务器,并重设密码:
% mysql -u root #不用密码就可连接到服务器 mysql> use mysql mysql> set password for 'root'@'localhost' = password('password');- 关闭服务器,再用正常方式启动服务器。
windows平台下:
用管理员帐号登录服务器,关闭MySQL数据库服务器。
使用--skip-grant-tables参数启动服务器:
c:\mysql\bin>mysqld-nt --skip-grant-tables
重新打开一个console窗口,用mysql命令登录服务器设置root的新密码:
c:\mysql\bin>mysql 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”,我们可设置它根据用户打开的数据库名而变化,如:
mysql>prompt \d>\_ none>use test test>use 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.webjx.com)整理发布!转载请注明出处,谢谢!
MySQL教程:数据库具体操作的更多相关文章
- Deepin系统安装mysql教程及相关操作
Deepin系统安装mysql教程及相关操作 1.安装MySQL sudo apt-get install mysql-server,期间需要输入两次密码,root账户的密码. sudo apt-ge ...
- MySQL关系型数据库基础操作
MySQL基础 一.MySQL常用数据类型 1.常用数值类型(INT,DOUBLE,FLOAT) ① int 或者 integer 类型: 大小(字节):4字节: 范围: (有符号: -2147483 ...
- mysql 导入数据库 命令操作
window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...
- mysql避免数据库误操作小技巧(转)
避免混淆开发环境的DB和生产环境的DB这在小公司小团队尤其常见.一个人即负责开发,又管DB.桌面上开了一坨终端,有的是开发的DB,有的是生产的DB.一不留神,就写串了,或者粘贴串了.更郁闷的是,有时候 ...
- mysql基础-数据库初始化操作必要步骤和客户端工具使用-记录(二)
0x01 mysql启动时,读取配置文件的顺序 Default options are read from the following files in the given order:/etc/my ...
- php操作mysql(数据库常规操作)
php操作数据库八步走 <?php .建立连接 $connection '); .判断连接是否成功 if (mysqli_connect_error() != null) { die(mysql ...
- Mysql之数据库用户操作
查看用户: select host,user from mysql.user; //mysql库中user表,host为主机地址,user为用户名 mysql> select host,user ...
- mysql对数据库的操作
增: creae database 数据库名 create database 数据库名 character set utf8; 删: drop database 数据库名 改: alter datab ...
- scrapy 管道里面使用mysql插入数据库 python操作mysql
# -*- coding: utf-8 -*- # Define your item pipelines here # # Don't forget to add your pipeline to t ...
随机推荐
- 反射-b
Class pkClass=NSClassFromString(@"PKAddPassesViewController"); if (pkClass) { NS ...
- 最近国外很拉风的,,基于.net 的一个手表
site:http://agentwatches.com/ 这个项目是一个国外工作室,筹集资金 创立的. 直接用c# 代码编译显示在手机上.能和智能手机通信等. 并且是开源的. 很酷 其次.它提供了. ...
- ubuntu matplotlib 安装
sudo apt-get install python-numpy //必须 sudo apt-get install python-matplotlib //必须
- 在 Windows 下远程桌面连接 Linux - XManager 篇
XManager是一个简单易用的高性能的运行在Windows平台上的X-Server软件,而Gnome和KDE就是X-Client,Linux下的X-Server则为Xorg.它能把远端Unix/Li ...
- COCI2014-2015CONTEST#7——POLICE
http://www.hsin.hr/coci/archive/2014_2015/contest7_tasks.pdf [题目描述] 有N个书架,每个书架可以容纳M本书.给出了若干本书,每本书有一个 ...
- Delphi 使用自定义消息
Delphi 使用自定义消息 1.先用Const 定义一个常量,例如 const WM_MyMessage=WM_USER+$200; 2.在要实现的unit中定义一个私有方法 procedure ...
- Javascript校验含中文的字符串长度
原文地址:http://sozai.wlling.com/html/Tutorial/JavaScript/2009/0214/2936.html /** * 得到字符串的字符长度(一个汉字占两个字符 ...
- 在linux下文件转码
在linux下转码命令: iconv -f utf-8 a.txt > b.txt
- ubuntu14.04 制作U盘启动文件
1.制作U盘启动文件 网上搜索:U盘安装Ubuntu 12.10 图文教程(ultraiso) http://www.jb51.net/os/94398.html 2. 重启,按Del(或F2)进BI ...
- wcf长连接
项目有用到wcf 大体是jquery + webservice + wcf(网页是客户端,wcf是服务端),现在需要服务端往客户端推送信息,本来是用客户端ajax访问 2秒一次访问服务端,后来觉得这 ...