`

Mysql常用命令

阅读更多

ALTER命令的常用方式

1.ALTER  table justmusic add unique  (musicsource)

2. Alter table  t1 add  columnname type;

 

    ALTER   TABLE   t2   ADD   INDEX   (d),   ADD   PRIMARY   KEY   (a);  

 

    Alter table t2 add( c1 type, c2 type);

 

    Alter table t2  drop column columnname;

 

    ALTER   TABLE   t2   MODIFY   a   TINYINT   NOT   NULL,   CHANGE   b   c   CHAR(20);  

 

    ALTER   TABLE   t1   RENAME   t2;  

 

 

mysqldump -uroot -proot   tablename > export.sql

mysql -uroot -proot tablename < import.sql

 

 

mysql> source d:\test.sql

 

 

ALTER DATABASE `SNS` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

 

 

版本:mysql :  select version();

 

 

 

 

 

 

 

 

 

1.启动server : mysqld
2.关闭server : mysqladmin shutdown -u root -p;
3.命令mysql -uroot -p


修改mysql密码的方法

use mysql
update user set Password=password('newpassword') where User='root';
flush privileges;

1.通过修改MYSQL数据库中MYSQL库的USER表
       就用普通的UPDATE、INSERT语句就可以

2.在命令行中使用如下命令
       MYSQLADMIN -u root -p PASSWORD mypasswd

3.可以修改MYSQL文件夹中的MY.INI文件

4.使用SET PASSWORD语句,
mysql> SET PASSWORD FOR myuser@localhost = PASSWORD('mypasswd');

5.使用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO myuser@localhost IDENTIFIED BY 'mypassword';

6.mysql> show databases;查看数据库
7.mysql> use "database name".
8.mysql> SHOW TABLES;
9.DESCRIBE "table name" 显示 表的结构.
10.mysql> CREATE DATABASE menagerie;
11.mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

CREATE TABLE userinfo (
userid int(11) NOT NULL auto_increment,
username varchar(200) NOT NULL,
friend int(11) NOT NULL default ‘0′,
PRIMARY KEY (userid)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MYSQL常用查命令:
     
mysql> select version();        查看MySQL的版本号
mysql> select current_date();        查看MySQL的当前日期
mysql> select version(),current_date(); 同时查看MySQL的版本号和当前日期
mysql> show databases;            显示当前存在的数据库
mysql> USE mysql            选择使用数据库(USE和QUIT命令不需要分号结束)
Database changed
mysql> select database();        显示当前选择的数据库
mysql> show tables;            显示当前数据库中存在的表
mysql> select * from db;        显示表(db)的内容   
mysql> describe mytable;        显示表的结构
或show columns from 表名;

mysql> select
-> user()
-> \c
mysql>

练习如下操作:
  mysql> select
  -> USER()
  -> ,
  -> now()
  ->;
mysql> Select (20+5)*4;
mysql> Select (20+5)*4,sin(pi()/3);
mysql> Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)


查看MySQL当前用户占用的连接数

命令: show processlist;
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
show processlist;只列出前100条,如果想全列出请使用show full processlist;
mysql> show processlist;


一。数据库:

    mysql> CREATE DATABASE abccs;         创建一个数据库        
      mysql> USE abccs            选择使用数据库
      mysql> drop database 数据库名;        删除数据库

二。表:

    1。创建一个表mytable:
   
      mysql> CREATE TABLE mytable
          -> (
          -> name VARCHAR(20),
          -> sex CHAR(1),
          -> birth DATE,
          -> birthaddr VARCHAR(20)
          -> );
    建立一个员工生日表,表的内容包含员工姓名、性别、出生日期、出生城市。
      由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。
        可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。
      性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);
      birth列则使用DATE数据类型。

    2。查询刚添加的记录:
    mysql> select * from mytable;
      Empty set (0.00 sec)      这说明刚才创建的表还没有记录。

    3。添加新记录:
    mysql> insert into mytable               
          -> values
          ->(
          ->'abccs',
          ->'f',
          ->'1977-07-07',
          ->'china'
          ->);

    4。用文本方式将数据装入一个数据库表:
         一条一条地添加新记录,实在太麻烦。
       创建一个文本文件“mysql.txt”,按表结构排好每行每条记录,用定位符(tab)把值分开。
        abccs f 1977-07-07 china  
          mary f 1978-12-12 usa
          tom m 1970-09-02 usa
       使用此命令将文本文件“mytable.txt”装载到表中:   
         mysql> Load data local infile "mytable.txt" into table mytable;

    数据传入命令load data local infile "文件名" into table 表名;
    注意:你最好将文件复制到mysql/bin目录下,并且要先用use命令选表所在的库。
   
    5。更新记录:
    mysql> update mytable set birth = "1973-09-02" where name = "tom";
   
    6。删除记录:
      mysql> delete from mytable where id=10;         //删除掉所有id=10的记录;
    mysql> delete from mytable where id=10 limit 1; //限制删除掉1条id=10的记录;
    mysql> delete from mytable            //删除一个表的全部记录;
    mysql> DELETE FROM t1 WHERE C>10;
      mysql> drop table tablename1,tablename2,…;    //删除整一个表或多个表,小心使用。

    7。重命名表:
    mysql> alter table t1 rename t2;

    8。修改mysql的表结构:

    查看mysql的表结构:
      mysql> describe mytable;   或用show columns from 表名;
  
    修改字段属性
    mysql> alter table tablename modify id int(10) unsigned auto_increment primary key not null

    修改默认值
    mysql> alter table tablename alter id default 0

    给字段增加primary key
    mysql> alter table tablename add primary key(id);

    删除primary key
    1、alter table tablename drop primary key;
    2、drop primary key on tablename;

    修改table表数据引擎
    mysql> alter table tableName ENGINE = MyISAM (InnoDB);

    增加一新字段名:
      mysql> alter table mytable add column single char(1);
    mysql> ALTER TABLE table ADD field INT(11) UNSIGNED NOT NULL

    删除字段
    mysql> alter table t2 drop column c;

    附:
    为了改变列a,从INTEGER改为TINYINT NOT NULL(名字一样),
    并且改变列b,从CHAR(10)改为CHAR(20),同时重命名它,从b改为c:
    ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

    增加一个新TIMESTAMP列,名为d:
    ALTER TABLE t2 ADD d TIMESTAMP;

    在列d上增加一个索引,并且使列a为主键:
    ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

    增加一个新的AUTO_INCREMENT整数列,命名为c:
    ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
   
    注意,我们索引了c,因为AUTO_INCREMENT柱必须被索引,
    并且另外我们声明c为NOT NULL,因为索引了的列不能是NULL。

    使用name列的头10个字符创建一个索引:
    CREATE INDEX part_of_name ON customer (name(10));

 

三。数据的备份与恢复:

导出和导入数据:(命令在DOS的mysql/bin目录下执行)
导出表
mysqldump --opt school > school.sql
注释:将数据库school中的表全部备份到school.sql文件,school.sql是一个文本文件,
文件名任取,打开看看你会有新发现。
mysqldump --opt school teacher student > school.teacher.student.sql
注释:将数据库school中的teacher表和student表备份到school.teacher.student.sql文
件,school.teacher.student.sql是一个文本文件,文件名任取,打开看看你会有新发现。

导入表
mysql
mysql>create database school;
mysql>use school;
mysql>source school.sql;
(或将school.sql换为school.teacher.sql / school.teacher.student.sql)

导出数据库
mysqldump --databases db1 db2 > db1.db2.sql
注释:将数据库dbl和db2备份到db1.db2.sql文件,db1.db2.sql是一个文本文件,文件名
任取,打开看看你会有新发现。
(举个例子:
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中。)

导入数据库
mysql < db1.db2.sql

复制数据库mysqldump --all-databases > all-databases.sql
注释:将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。

导入数据库
mysql
mysql>drop database a;
mysql>drop database b;
mysql>drop database c;
...
mysql>source all-databases.sql; (或exit退出mysql后 mysql < all-databases.sql)


mysql备份和恢复的命令
备份和恢复的命令分别为:

备份:mysqldump --force --add-drop-table --extended-insert -h"数据库主机名" -u"用户名" -p"密码" "数据库名" > 备份数据文件名
恢复:mysql -h"数据库主机名" -u"用户名" -p"密码" "数据库名" < 备份数据文件名
备份文件名可为d:\sql.bak
示例:
在DOSCMD模式下备份用mysqldump -u root -p ***** ksedata >d:\sql.bak
恢复用mysql -u root -p ***** ksedata <d:\sql.bak

当然可以用-h指定主机名

文章出处:http://www.diybl.com/course/7_databases/mysql/Mysqljs/2008122/152909.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mysql>    GRANT    ALL    ON    *.*    TO   username@localhost    IDENTIFIED    BY    'password';   
localhost改成被授权的主机IP,username和password是连接用的用户名和密码。
如果要允许所有的机器访问可以这样:
mysql>    GRANT    USAGE    ON    *.*    TO   username@'%'    IDENTIFIED    BY    'password';

创建临时表:

CREATE TEMPORARY TABLE tmp_table SELECT * FROM object_video;

 

 

mysqldump -h172.19.27.57 -ukenny -pkenny vms_video >vms_video.sql

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GRANT ALL PRIVILEGES
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
Sql代码 复制代码
   1. mysql -u root -pvmwaremysql>use mysql; 
   2. mysql>update user set host = '%' where user = 'root'; 
   3. mysql>select host, user from user; 
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
Sql代码 复制代码
  1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
      GRANT OPTION;  
  2.FLUSH   PRIVILEGES; 
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
Sql代码 复制代码
   1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY  
   2. 'mypassword' WITH GRANT OPTION;  
   3. FLUSH   PRIVILEGES; 
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
FLUSH   PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
Sql代码 复制代码
   1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY  
   2. 'mypassword' WITH GRANT OPTION;  
   3. FLUSH   PRIVILEGES; 
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
FLUSH   PRIVILEGES;
注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。
另外一种方法.
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT ......

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MySQL的转义字符“\”

MySQL识别下列转义字符:

\0
一个ASCII 0 (NUL)字符。
\n
一个新行符。
\t
一个定位符。
\r
一个回车符。
\b
一个退格符。
\'
一个单引号(“'”)符。
\ "
一个双引号(“ "”)符。
\\
一个反斜线(“\”)符。
\%
一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。
\_
一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。
注意,如果你在某些正文环境中使用“\%”或“\%_”,这些将返回字符串“\%”和“\_”而不是“%”和“_”。

★★
有几种方法在一个字符串内包括引号:
1、必须转义的:
一个字符串用单引号“'”来引用的,该字符串中的单引号“'”字符可以用“''”方式转义。
一个字符串用双引号“ "”来引用的,该字符串中的“ "”字符可以用“ " "”方式转义。
同时你也可以继续使用一个转义字符“\”来转义
2、可不转义的:
一个字符串用双引号“ "”来引用的,该字符串中的单引号“'”不需要特殊对待而且不必被重复或转义。
同理,
一个字符串用单引号“'”来引用的,该字符串中的双引号“ "”不需要特殊对待而且不必被重复或转义。

下面显示的SELECT演示引号和转义如何工作:

mysql > SELECT 'hello', ' "hello "', ' " "hello " "', 'hel''lo', '\'hello';
+----------+--------------+-------------------+----------+---------+
¦ hello ¦ "hello " ¦ " "hello " " ¦ hel'lo ¦ 'hello ¦
+----------+--------------+-------------------+----------+---------+

mysql > SELECT "hello ", "'hello' ", "''hello'' ", "hel " "lo ", "\ "hello ";
+----------+----------+-----------+------------+-----------+
¦ hello ¦ 'hello' ¦ ''hello'' ¦ hel "lo ¦ "hello ¦
+---------+-----------+-----------+------------+-----------+

mysql > SELECT "This\nIs\nFour\nlines ";
+--------------------+
¦ This
Is
Four
lines ¦
+--------------------+

★★

如果你想要把二进制数据插入到一个BLOB列,下列字符必须由转义序列表示:

NUL
ASCII 0。你应该用'\0'(一个反斜线和一个ASCII '0')表示它。
\
ASCII 92,反斜线。用'\\'表示。
'
ASCII 39,单引号。用“\'”表示。
"
ASCII 34,双引号。用“\ "”表示。

分享到:
评论

相关推荐

    MYSQL常用命令教程

    ### MySQL常用命令详解 在IT领域,MySQL作为一款广泛使用的开源关系型数据库管理系统,其重要性不言而喻。无论是初学者还是资深开发者,掌握MySQL的常用命令都是必不可少的技能。以下将对“MYSQL常用命令教程”中的...

    MySQL常用命令(非常全面的命令大全)

    ### MySQL常用命令详解 #### 一、连接与断开MySQL **命令格式:** ``` mysql -h [主机地址] -u [用户名] -p [密码] ``` **示例:** 1. **本地连接MySQL服务:** ```bash mysql -uroot -p ``` 输入此命令后,...

    MySql常用命令 最新 最全

    根据提供的标题、描述以及部分内容,本文将详细解析MySQL数据库中的常用命令,并且涵盖数据库的创建、管理、查询、更新等核心操作。 ### MySQL 常用命令概览 #### 启动与停止 MySQL 服务 - **启动 MySQL 服务**: ...

    MySQL常用命令汇总.rar

    以上仅是MySQL常用命令的一部分,实际操作中还有更多高级功能,如视图、存储过程、触发器、索引、事务处理等。通过深入学习和实践,你可以更高效地管理和维护MySQL数据库。在“MySQL常用命令汇总.pdf”文件中,应有...

    个人总结的MySQL常用命令语句

    ### MySQL常用命令语句详解 #### 一、创建数据库(Create Database) - **命令格式**:`CREATE DATABASE database_name;` - **功能说明**:此命令用于创建一个新的数据库。 - **示例**: ```sql CREATE DATABASE ...

    MySQL常用命令 MySQL常用命令

    MySQL 常用命令 MySQL 是一个流行的开源关系数据库管理系统,它提供了许多实用的命令来管理和维护数据库。在本资源中,我们将总结一些常用的 MySQL 命令,涵盖数据库创建、用户管理、数据备份和恢复、查询执行等...

    MySQL常用命令总结.txt

    MySQL常用命令总结 MySQL常用命令总结

    mysql常用命令总结

    ### MySQL常用命令总结 本文将基于提供的部分内容对MySQL的基本操作命令进行详细解析,这些命令涵盖了数据库及表的基本管理,如创建、查询、更新等。掌握这些命令有助于更好地管理和操作MySQL数据库。 #### 一、...

    MYSQL常用命令详细介绍

    ### MySQL常用命令详解 #### 启动MySQL服务器 在启动MySQL服务器方面,有两种常见的方法: 1. **使用winmysqladmin工具**:这是一个图形化的工具,适用于Windows系统。如果你的计算机在启动时已经设置了自动运行...

    mysql常用命令集锦--初级DBA

    MySQL常用命令集锦--初级DBA MySQL是当前最流行的开源关系数据库管理系统,本文将总结一些常用的MySQL命令,适合初级DBA学习和工作。 一、MySQL服务的启动和停止 MySQL服务的启动和停止命令如下: * ...

    MySQL常用命令视频教程及笔记

    MySQL是世界上最受欢迎的关系型...通过学习这些MySQL常用命令,你可以对数据库进行基本的创建、查询、修改和删除操作,同时了解如何更高效地管理和维护数据库。在实际工作中,熟练掌握这些命令能够极大地提升工作效率。

    MySQL常用命令.doc

    以下是一些关于MySQL常用命令的详细说明: 1. **创建和管理数据库**: - `create database name;` 用于创建一个新的数据库,name是数据库的名称。 - `use databasename;` 用于切换到指定的数据库。 - `drop ...

    MySQL常用命令---创建数据库创建表.pdf

    MySQL常用命令---创建数据库创建表 MySQL是最流行的开源关系型数据库管理系统,广泛应用于Web应用开发、企业数据存储、数据分析等领域。作为一名IT从业者,熟悉MySQL常用命令是必不可少的技能之一。本文档将详细...

    MySQL常用命令大全

    ### MySQL常用命令详解 在IT领域,特别是数据库管理与开发工作中,熟练掌握SQL语言和具体的数据库管理系统(如MySQL)的命令至关重要。以下是对标题“MySQL常用命令大全”及其描述“MySQL常用命令,帮助你快速掌握...

    MySQL常用命令速查手册

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational ...此文件是MySQL常用命令速查手册

    MySQL常用命令大全.docx

    MySQL 常用命令大全 本文档旨在总结 MySQL 的常用命令,旨在帮助开发者快速掌握 MySQL 的基本操作命令。下面将详细介绍 MySQL 的基本命令,包括启动 MySQL、数据库操作、表操作、数据操作等方面。 一、命令行指令 ...

    MySQL 常用命令总结

    ### MySQL常用命令精要解析 #### 一、MySQL基础命令概览 MySQL是全球最流行的开源关系型数据库管理系统之一,其高效稳定、功能全面而深受广大开发者喜爱。掌握MySQL的基本命令是进行数据库管理与开发的基础。 ###...

Global site tag (gtag.js) - Google Analytics