mysql基本操作,mysql
1. 登陆与退出
(1) 登陆
mysql –u用户名–p密码
此命令密码是明文
mysql –u用户名–p
Enter Password
登陆的同时指明主机号:
mysql –h主机名–u用户名 –p密码
登陆的同时指明端口号
mysql –h主机名–u用户名 –p密码–P端口号(3306)
登陆的同时修改命令提示符:
mysql –h主机名–u用户名 –p密码–P端口号(3306)--prompt=
命令提示符包括:
\u当前用户名
\h当前主机名
\D当前日期时间
\d当前打开的数据库
也可以在登陆后,修改命令提示符:
Promptkaikeba>
命令提示符改为kaikeba>
登陆的同时修改命令分隔符:
mysql –h主机名–u用户名 –p密码–P端口号(3306)--prompt= --delimiter=
也可以再登陆之后修改命令分隔符
Delimiter @
命令结束符变为:@
在登陆的同时打开数据库:
Mysql -u用户名 -p密码 -h主机名 -D数据库名
Eg:
Mysql -uroot-proot -hlocalhost -Dtest;
(2) 退出
Exit
\q
Quit
Ctrl+C快捷键
(3) SQL规范
数据库名、表名小写;关键字、保留字、函数名称大写;
SQL命令支持折行操作,但不能将单词、名称、或成对引号折行写
当名称与保留字冲突时,需用‘’括上名称
(4) 开启输出日志的形式
\T 文件保存位置及文件名称
\t 结束输出日志
按上下键调查之前写过的命令
2. DDL操作
(1) 创建数据库
CREATE{DATABASE|SCHEMA} db_name;
CREATE{DATABASE|SCHEMA} [IF NOT EXISTS] db_name;
CREATE{DATABASE|SCHEMA} [IF NOT EXISTS] db_name [[DEFAULT] CHARACTER SET [=] 字符集];
(2) 查看当前服务器下已有的数据库
SHOW{DATABASES|SCHEMA};
(3) 查看上一步操作得到的警告
SHOW WARNINGS
(4) 查看已创建数据库的编码方式
SHOW CREATEDATABASE db_name;
综合案例1:
mysql> CREATEDATABASE randongmei;
Query OK, 1 rowaffected (0.00 sec)
mysql> SHOWDATABASES;
+--------------------+
| Database |
+--------------------+
|information_schema |
| mysql |
|performance_schema |
|randongmei |
| test |
+--------------------+
5 rows in set(0.00 sec)
mysql> CREATESCHEMA king;
Query OK, 1 rowaffected (0.00 sec)
mysql> SHOWSCHEMAS;
+--------------------+
| Database |
+--------------------+
|information_schema |
| king |
| mysql |
| performance_schema|
|randongmei |
| test |
+--------------------+
6 rows in set(0.00 sec)
mysql> CREATESCHEMA king;
ERROR 1007(HY000): Can't create database 'king'; database exists
mysql> CREATESCHEMA IF NOT EXISTS king;
Query OK, 1 rowaffected, 1 warning (0.00 sec)
mysql> SHOWWARNINGS;
+-------+------+-----------------------------------------------+
| Level | Code |Message |
+-------+------+-----------------------------------------------+
| Note | 1007 | Can't create database 'king';database exists |
+-------+------+-----------------------------------------------+
1 row in set(0.00 sec)
mysql> SHOWDATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema|
| king |
| mysql |
|performance_schema |
|randongmei |
| test |
+--------------------+
6 rows in set(0.00 sec)
mysql> SHOWCREATE DATABASE randongmei;
+------------+---------------------------------------------------------------------+
| Database | Create Database |
+------------+---------------------------------------------------------------------+
| randongmei |CREATE DATABASE `randongmei` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+------------+---------------------------------------------------------------------+
1 row in set(0.00 sec)
mysql> CREATEDATABASE IF NOT EXISTS test1 DEFAULT CHARACTER SET ='gbk';
Query OK, 1 rowaffected (0.00 sec)
mysql> SHOWCREATE DATABASE test1
-> ;
+----------+---------------------------------------------------------------+
| Database |Create Database |
+----------+---------------------------------------------------------------+
| test1 | CREATE DATABASE `test1` /*!40100 DEFAULTCHARACTER SET gbk */ |
+----------+---------------------------------------------------------------+
1 row in set(0.00 sec)
mysql> CREATESCHEMA IF NOT EXISTS test3 CHARACTER SET 'GBK';
Query OK, 1 rowaffected (0.00 sec)
mysql> \t
(5) 修改数据库的编码方式
ALTER{DATABASE|SCHEMA} db_name [[DEFAULT] CHARACTER SET [=] 字符集];
mysql> SHOWDATABASES;
+--------------------+
| Database |
+--------------------+
|information_schema |
| king |
| mysql |
|performance_schema |
|randongmei |
| test |
| test1 |
| test3 |
+--------------------+
8 rows in set(0.02 sec)
mysql> SHOWCREATE DATABASE test1;
+----------+---------------------------------------------------------------+
| Database |Create Database |
+----------+---------------------------------------------------------------+
| test1 | CREATE DATABASE `test1` /*!40100 DEFAULTCHARACTER SET gbk */ |
+----------+---------------------------------------------------------------+
1 row in set(0.00 sec)
mysql> ALTERDATABASE test1 DEFAULT CHARACTER SET 'UTF8';
Query OK, 1 rowaffected (0.00 sec)
mysql> SHOWCREATE DATABASE test1;
+----------+----------------------------------------------------------------+
| Database |Create Database |
+----------+----------------------------------------------------------------+
| test1 |CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
1 row in set(0.00 sec)
mysql> SHOWCREATE SCHEMA test3;
+----------+---------------------------------------------------------------+
| Database |Create Database |
+----------+---------------------------------------------------------------+
| test3 | CREATE DATABASE `test3` /*!40100 DEFAULTCHARACTER SET gbk */ |
+----------+---------------------------------------------------------------+
1 row in set(0.00 sec)
mysql> ALTERDATABASE test3 CHARACTER SET 'UTF8';
Query OK, 1 rowaffected (0.00 sec)
mysql> SHOWCREATE DATABASE test3;
+----------+----------------------------------------------------------------+
| Database |Create Database |
+----------+----------------------------------------------------------------+
| test3 | CREATE DATABASE `test3` /*!40100 DEFAULTCHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
1 row in set(0.00 sec)
mysql> \t
(6) 打开指定数据库
USE db_name;
(7) 得到当前已经打开的数据库
SELECT{DATABASE()|SCHEMA()};
mysql> SHOWDATABASES;
+--------------------+
| Database |
+--------------------+
|information_schema |
| king |
| mysql |
|performance_schema |
|randongmei |
| test |
| test1 |
| test3 |
+--------------------+
8 rows in set(0.00 sec)
mysql> USEtest1;
Database changed
mysql> SELECTDATABASE();
+------------+
| DATABASE() |
+------------+
| test1 |
+------------+
1 row in set(0.00 sec)
mysql> USErandongmei;
Database changed
mysql> SELECTSCHEMA();
+------------+
| SCHEMA() |
+------------+
| randongmei |
+------------+
1 row in set(0.00 sec)
mysql> \t
(8) 删除指定的数据库
DROP {DATABASE|SCHEMA} db_name;
DROP {DATABASE|SCHEMA} [IF EXISTS] db_name;
不可以一次删除多个数据库
建议采用ThinkPHP SAE框架(在应用里面查找,免费开源的),可以轻松解决你的问题。
看他们网上的,写得都是千篇一律,同时,好多也写得不是很好,下面是我自己总结的有关mysql的使用细节,也是我在学习过程中的一些记录吧,希望对你有点帮助,后面有关存储过程等相关操作还没有总结好,下次总结好了再发给你吧,呵呵~~~~~
MySql学习笔记
MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中。这样就增加了速度与提高了灵活性。并且MySql软件是一个开放源码软件。
注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最好不要超过2030年,然后如果在64位的机器上,年份可以达到2106年,而对于date、与datetime这两种类型,则没有关系,都可以表示到9999-12-31,所以这一点得注意下;还有,在安装MySql的时候,我们一般都选择Typical(典型安装)就可以了,当然,如果还有其它用途的话,那最好选择Complete(完全安装);在安装过程中,一般的还会让你进行服务器类型的选择,分别有三种服务器类型的选择,(Developer(开发机)、Server Machine(服务器)、Dedicated MySql Server Machine(专用MYSQL服务器)),选择哪种类型的服务器,只会对配置向导对内存等有影响,不然其它方面是没有什么影响的;所以,我们如果是开发者,选择开发机就可以啦;然后接下来,还会有数据库使用情况对话框的选择,我们只要按照默认就可以啦;
连接与断开服务器:
连接:在windows命令提示符下输入类似如下命令集:mysql –h host –u user –p
例如,我在用的时候输入的是:mysql –h localhost –u root –p
然后会提示要你输入用户密码,这个时候,如果你有密码的话,就输入密码敲回车,如果没有密码,直接敲回车,就可以进入到数据库客户端;连接远程主机上的mysql,可以用下面的命令:mysql –h 159.0.45.1 –u root –p 123
断开服务器:在进入客户端后,你可以直接输入quit然后回车就可以了;
下面就数据库相关命令进行相关说明
你可以输入以下命令对数据库表格或者数据库进行相关操作,在这里就省略了,然后直接进行文字说明了;
Select version(),current_date;//从服务器得到当前mysql的版本号与当前日期
Select user(); //得到当前数据库的所有用户
Use databasename; 进入到指定的数据库当中,然后就可以操作这个数据库当中的表格了
Show databases; //查询目前数据库中所有的数据库,并且显示出来;
Create batabase databasename;创建数据库,例如:create database manager;
Show tables; //查看当前数据库中的所有表格;
Create table tablename(colums);创建表,并且给表指定相关列,例如:create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);
Describe tablename;将表当中的所有信息详细显示出来,例如:descr......余下全文>>