您的位置:新葡亰496net > 网络数据库 > 常用命令,MySQL常用命令计算

常用命令,MySQL常用命令计算

发布时间:2019-11-04 03:09编辑:网络数据库浏览(54)

      MySQL数据库对大小写不灵动,如id和ID,select和SELECT.。

    1.      本地连接MySQL数据库:

    生机勃勃、运转与脱离
    1、步入MySQL:运营MySQL Command Line Client(MySQL的DOS分界面卡塔 尔(英语:State of Qatar),直接输入安装时的密码就能够。这个时候的唤醒符是:mysql>
    2、退出MySQL:quit或exit
    二、库操作 1、、创立数据库
    一声令下:create database <数据库名>
    诸如:创立二个名称叫xhkdb的数据库
    mysql> create database xhkdb;
    2、展现全数的数据库
    一声令下:show databases (注意:最后有个s卡塔尔
    mysql> show databases;
    3、删除数据库
    指令:drop database <数据库名>
    比方说:删除名叫 xhkdb的数据库
    mysql> drop database xhkdb;
    4、连接数据库
    一声令下: use <数据库名>
    诸如:倘诺xhkdb数据库存在,尝试存取它:
    mysql> use xhkdb;
    显示器提醒:Database changed
    5、当前筛选(连接卡塔 尔(阿拉伯语:قطر‎的数据库
    mysql> select database();
    6、当前数据库包罗的表音讯:
    mysql> show tables; (注意:最后有个s卡塔 尔(阿拉伯语:قطر‎

    1.数据库

    1、连接Mysql

    格式: mysql -h主机地址 -u客商名 -p客户密码

    1、连选取本机上的MYSQL。
    先是张开DOS窗口,然后步入目录mysqlbin,再键入命令mysql -u root -p,回车的前边提醒您输密码.注意客商名前能够有空格也能够未有空格,可是密码前必需未有空格,不然让您再次输入密码。

    比方刚安装好MYSQL,一级客商root是从未密码的,故直接回车就可以步向到MYSQL中了,MYSQL的提示符是: mysql>

    2、连接到长途主机上的MYSQL。如果远程主机的IP为:110.110.110.110,客户名称为root,密码为abcd123。则键入以下命令:
        mysql -h110.110.110.110 -u root -p 123;(注:u与root之间能够不用加空格,此外也如出豆蔻梢头辙卡塔 尔(阿拉伯语:قطر‎

    3、退出MYSQL命令: exit (回车)

     

    Mysql –h 连接地址(本地为localhost卡塔 尔(英语:State of Qatar) -u 客商名(root卡塔 尔(阿拉伯语:قطر‎ -p[密码] [多少库名];

    三、表操作,操作以前应连接有些数据库
    1、建表
    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

      create database <数据库名>  创制数据库

    2、修正密码

    格式:mysqladmin -u用户名 -p旧密码 password 新密码

    1、给root加个密码ab12。
    率先在DOS下踏向目录mysqlbin,然后键入以下命令
        mysqladmin -u root -password ab12
    注:因为早前时root未有密码,所以-p旧密码意气风发项就可以归纳了。

    2、再将root的密码改为djg345。
        mysqladmin -u root -p ab12 password djg345

    举例 :mysql –h localhost –u root –p123456 db_test(注意:-p后不能够有空格)

    mysql> create table MyClass(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));
    2、获取表结构
    命令: desc 表名,或者show columns from 表名

      use <数据库名>  连接数据库

    3、扩充新客商

    瞩目:和地点分裂,上面包车型地铁因为是MYSQL情况中的命令,所以前边都带三个分行作为命令结束符

    格式:grant select on 数据库.* to 客户名@登入主机 identified by “密码”

    1、扩充三个客户test1密码为abc,让他得以在此外主机上登陆,并对具有数据库有询问、插入、改革、删除的权力。首先用root客户连入MYSQL,然后键入以下命令:
        grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

    但净增的顾客是老大死里逃生的,你想如有些人知情test1的密码,那么她就能够在internet上的此外黄金时代台微型机上登陆你的mysql数据库并对您的数目足以为所欲为了,扑灭办法见2。

    2、扩大三个客户test2密码为abc,让她只可以够在localhost上登入,并得以对数据库mydb举行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机卡塔 尔(阿拉伯语:قطر‎,那样顾客即选择知道test2的密码,他也不能够从internet上直接访问数据库,只可以通过MYSQL主机上的web页来访谈了。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

    若果您不想test2有密码,能够再打一个下令将密码消掉。
        grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

     

    密码和数据库名可以不加。密码不加时,之后会唤起密码输入。而数据库名不加时,要动用(use 数据库名卡塔 尔(阿拉伯语:قطر‎此句设置当前应用的数据库。

    mysql> desc MyClass;
    mysql> show columns from MyClass;
    3、删除表
    命令:drop table <表名>
    举例说:删除表名叫 MyClass 的表
    mysql> drop table MyClass;
    4、插入数据
    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
    诸如,往表 MyClass中插入二条记下, 那二条记下代表:编号为1的名称叫汤姆的战绩为96.45, 编号为2 的名叫Joan 的成就为82.99, 编号为3 的名称为Wang 的大成为96.5.
    mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
    5、查询表中的数据
    1)、查询全数行
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    举例说:查看表 MyClass 中装有数据
    mysql> select * from MyClass;
    2卡塔 尔(英语:State of Qatar)、查询前几行数据
    例如:查看表 MyClass 中前2行数据
    mysql> select * from MyClass order by id limit 0,2;
    6、删除表中数据
    命令:delete from 表名 where 表达式
    诸如:删除表 MyClass中编号为1 的笔录
    mysql> delete from MyClass where id=1;
    7、改良表中数量:update 表名 set 字段=新值,… where 条件
    mysql> update MyClass set name='Mary' where id=1;
    7、在表中扩张字段:
    命令:alter table 表名 add字段 类型 其他;
    例如:在表MyClass中增添了叁个字段passtest,类型为int(4),暗中同意值为0
    mysql> alter table MyClass add passtest int(4) default '0'
    8、改良表名:
    命令:rename table 原表名 to 新表名;
    举例说:在表MyClass名字改成为YouClass
    mysql> rename table MyClass to YouClass;

      注:use代表近年来三番五次上了哪位数据库,并不会默转潜移对其余数据库的会见

    4.1 创制数据库

    专一:成立数据库此前要先三回九转Mysql服务器

    指令:create database <数据库名>

    例1:组建四个名叫xhkdb的数据库
       mysql> create database xhkdb;

    例2:创立数据库并分配客商

    ①CREATE DATABASE 数据库名;

    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTEENCORE ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

    ③SET PASSWOEvoqueD FOEscort '数据库名'@'localhost' = OLD_PASSWORD('密码');

    逐大器晚成实行3个指令实现数据库创设。注意:中文“密码”和“数据库”是户自个儿索要安装的。

     

    改革字段内容
    update 表名 set 字段名 = 新内容
    update 表名 set 字段名 = replace(字段名,'旧内容','新内容');

              如: use db_1;

    4.2 显示数据库

    一声令下:show databases (注意:最终有个s卡塔尔
    mysql> show databases;

    只顾:为了不再呈现的时候乱码,要修正数据库暗许编码。以下以GBK编码页面为例举办求证:

    1、改过MYSQL的布局文件:my.ini里面改进default-character-set=gbk
    2、代码运转时矫正:
       ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
       ②PHP代码:header("Content-Type:text/html;charset=gb2312");
       ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname);
    该函数用于为近年来一连装置默许的字符集。字符串csname钦定了1个有效的字符集名称。连接核对成为字符集的私下认可查对。该函数的行事方法与SET NAMES语句看似,但它还能安装mysql- > charset的值,进而影响了由mysql_real_escape_string() 设置的字符集。

    2.      长间隔连接MySQL数据库:

    小说前边参加4个空格
    update article set content=concat('  ',content);

                      select * from db_2.logs

    4.3 删除数据库

    一声令下:drop database <数据库名>
    举个例子说:删除名叫 xhkdb的数据库
    mysql> drop database xhkdb;

    事例1:删除三个业已规定期存款在的数据库
       mysql> drop database drop_database;
       Query OK, 0 rows affected (0.00 sec)

    事例2:删除三个不分明期存款在的数据库
       mysql> drop database drop_database;
       ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist
          //发生错误,不可能去除'drop_database'数据库,该数据库官样文章。
       mysql> drop database if exists drop_database;
       Query OK, 0 rows affected, 1 warning (0.00 sec)//发生一个告诫表明此数据库不设有
       mysql> create database drop_database;
       Query OK, 1 row affected (0.00 sec)
       mysql> drop database if exists drop_database;//if exists 剖断数据库是还是不是留存,一纸空文也不发生错误
       Query OK, 0 rows affected (0.00 sec)

    Mysql –h 连接地址(IP地址卡塔 尔(阿拉伯语:قطر‎ -p 端口号 -u 客商名(root卡塔 尔(英语:State of Qatar) -p[密码] [数量库名];

    字段类型
    1.INT[(M)] 型: 符合规律尺寸整数类型
    2.DOUBLE[(M,D)] [ZEROFILL] 型: 常常尺寸(双精美)浮点数字类型
    3.DATE 日期类型:帮衬的约束是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来体现DATE值,可是允许你使用字符串或数字把值赋给DATE列
    4.CHA途胜(M) 型:定长字符串类型,当存款和储蓄时,总是是用空格填满侧边到内定的长短
    5.BLOB TEXT类型,最大尺寸为65535(2^16-1)个字符。
    6.VARCHA帕杰罗型:变长字符串类型
    mysqldump 命令的应用

      drop database <数据库名> 删除数据库,不会提箱

    4.4 连接数据库

    指令: use <数据库名>

    举个例子说:假设xhkdb数据仓库储存在,尝试存取它:
       mysql> use xhkdb;
    荧屏提示:Database changed

    use 语句能够布告MySQL把db_name数据库作为暗许(当前卡塔尔数据库使用,用于后续语句。该数据库保持为暗中认可数据库,直到语段的终极,或许直到发表三个不生机勃勃的USE语句:
       mysql> USE db1;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
       mysql> USE db2;
       mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

    利用USE语句为叁个特定的当前的数据库做标识,不会堵住你访问此外数据库中的表。下边包车型大巴例子能够从db1数据库访谈小编表,并从db2数据库采访编辑表:
       mysql> USE db1;
       mysql> SELECT author_name,editor_name FROM author,db2.editor
           ->        WHERE author.editor_id = db2.editor.editor_id;

    USE语句被设置出来,用于与Sybase相宽容。

    稍加网络朋友问到,连接以往怎么退出。其实,不用退出去,use 数据库后,使用show databases就能够查询全部数据库,假诺想跳到其余数据库,用
       use 别的数据库名字
    就足以了。

    语法和第11中学好像。端口号默感觉3306.

    备份和导出数据库
    mysqldump -h database_ip -u Username -p --opt databasename > backup-file.sql
    只导出多少库表结构
    mysqldump -h database_ip -d -u Username -p databasename >database_structure.sql
    只导出数据库中的有个别表
    mysqldump --opt --add-drop-table -u Username -p databasename tablename > dump.sql
    假如不想手工业输入密码 请使用--password 参数
    mysqldump -h database_ip -u Username --password=123456 --opt databasename > backup-file.sql
    mysqldump -h database_ip -d -u Username --password=123456 databasename >database_structure.sql

      drop database if exists <数据库名> 假使存在,删除数据库

    4.5 当前增选的数据库

    命令:mysql> select database();

    MySQL中SELECT命令相同于其余编程语言里的print可能write,你能够用它来展现三个字符串、数字、数学表明式的结果等等。如何使用MySQL中SELECT命令的奇特作用?

    1.显示MYSQL的版本
    mysql> select version(); 
    -----------------------  
    | version()             | 
    -----------------------  
    | 6.0.4-alpha-community | 
    -----------------------  
    1 row in set (0.02 sec) 

    2. 出示当前光阴
    mysql> select now(); 
    ---------------------  
    | now()               | 
    ---------------------  
    | 2009-09-15 22:35:32 | 
    ---------------------  
    1 row in set (0.04 sec) 

    3. 显得年月日
    SELECT DAYOFMONTH(CURRENT_DATE); 
    --------------------------  
    | DAYOFMONTH(CURRENT_DATE) | 
    --------------------------  
    |                       15 | 
    --------------------------  
    1 row in set (0.01 sec) 
      
    SELECT MONTH(CURRENT_DATE); 
    ---------------------  
    | MONTH(CURRENT_DATE) | 
    ---------------------  
    |                   9 | 
    ---------------------  
    1 row in set (0.00 sec) 
      
    SELECT YEAR(CURRENT_DATE); 
    --------------------  
    | YEAR(CURRENT_DATE) | 
    --------------------  
    |               2009 | 
    --------------------  
    1 row in set (0.00 sec) 

    4. 彰显字符串
    mysql> SELECT "welecome to my blog!"; 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    | welecome to my blog! | 
    ----------------------  
    1 row in set (0.00 sec) 

    5. 当统计器用
    select ((4 * 4) / 10 ) 25; 
    ----------------------  
    | ((4 * 4) / 10 ) 25 | 
    ----------------------  
    |                26.60 | 
    ----------------------  
    1 row in set (0.00 sec) 

    6. 串接字符串
    select CONCAT(f_name, " ", l_name) 
    AS Name 
    from employee_data 
    where title = 'Marketing Executive'; 
    ---------------  
    | Name          | 
    ---------------  
    | Monica Sehgal | 
    | Hal Simlai    | 
    | Joseph Irvine | 
    ---------------  
    3 rows in set (0.00 sec) 
    瞩目:这里用到CONCAT()函数,用来把字符串串接起来。此外,大家还用到早前学到的AS给结果列'CONCAT(f_name, " ", l_name)'起了个假名。

     

    mysql 命令使用 将查询结果保存到文件
    select title from book into outfile '/tmp/outfile.txt';
    查找表中多余的重复记录,重复记录是基于某些字段(peopleId卡塔尔国来决断
    select * from people where peopleId in (select peopleId from people group by
    peopleId having count(peopleId) > 1);
    查询表中不重复记录(消逝重复记录)
    select * from phome_ecms_wma where title in (select distinct title from phome_ecms_wma);
    去除表中重复记录,重复记录是基于有些字段(title卡塔尔来判别
    select *,count(distinct title) INTO OUTFILE '/tmp/table.bak' from phome_ecms_wma group by title;
    delete from phome_ecms_wma;
    LOAD DATA INFILE '/tmp/table.bak' REPLACE INTO TABLE phome_ecms_wma character set utf8;
    查询数据库当前编码
    mysql> show variables like "character_set%";
    修改表字段类型
    mysql> alter table table_name change last_action last_action datetime NOT NULL default '0000-00-00 00:00:00';
    给表增添贰个新字段
    mysql> ALTER TABLE host ADD ks_mac VARCHAR(100);
    从表中删除七个字段
    mysql> ALTER TABLE table_name DROP field_name;
    重命名表
    mysql>alter table t1 rename t2;
    给字段加索引
    mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
    mysql> alter table tablename add index emp_name (name);
    加主关键字的目录
    mysql> alter table tablename add primary key(id);
    加唯生龙活虎约束条件的目录
    mysql> alter table tablename add unique emp_name2(cardnumber);
    去除某些索引
    mysql>alter table tablename drop index emp_name;
    长间隔访谈mysql 设置
    mysql> GRANT ALL PRIVILEGES ON database_test.* to root@192.168.1.9 IDENTIFIED BY '123456';
    mysql> FLUSH PRIVILEGES;

      show databases  查询全体数据库

    5.1 创造数据表

    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

    比如说,建设构造三个名字为MyClass的表,

    字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
    id int 4 primary key auto_increment  
    name char 20      
    sex int 4     0
    degree double 16      

    mysql> create table MyClass(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));

    3.      地点授权远程连接顾客:

    1、使用SHOW语句搜索在服务器上脚下设有何数据库
    mysql> show databases;
    2、创设三个数据库MYSQLDATA
    mysql> create database mydata;
    3、采纳你所创办的数据库
    mysql> use mydata;
    4、查看现在的数据库中留存什么表
    mysql> show tables;
    5、创制叁个多少库表
    mysql> create table mytable (name varchar(20), sex char(1));
    6、彰显表的组织:
    mysql> describe mytable;
    7、往表中插手记录
    mysql> insert into mytable values ("test","m");
    8、用文件情势将数据装入数据库表中(例如 d:mysql.txt)
    mysql> load data local infile "d:/mysql.txt" into table mytable;
    9、导入.sql文件命令(比如 d:mysql.sql)
    mysql>use database;
    mysql>source d:/mysql.sql;
    10、删除表
    mysql>drop table mytable;
    11、清空表
    mysql>delete from mytable;
    12、更新表中多少
    mysql>update mytable set sex="f" where name=test;

      select version() 查询数据库版本

    5.3 删除数据表

    命令:drop table <表名>

    比方说:删除表名称叫 MyClass 的表
       mysql> drop table MyClass;

    DROP TABLE用于撤销三个或三个表。您必须有种种表的DROP权限。全部的表数据和表定义会被收回,所以利用本语句要小心!

    留意:对于叁个带分区的表,DROP TABLE会恒久性地收回表定义,撤废各分区,并撤废储存在这里些分区中的全体数据。DROP TABLE还恐怕会废除与被收回的表有关联的分区定义(.par卡塔 尔(英语:State of Qatar)文件。

    对与不设有的表,使用IF EXISTS用于制止错误发生。当使用IF EXISTS时,对于种种不设有的表,会扭转一个NOTE。

    REST牧马人ICT和CASCADE可以使分区更便于。近些日子,REST锐界ICT和CASCADE不起成效。

           在长间距计算机连接本地计算机在此之前,首先要使用本地Computer给长途计算机授权,不然将无权连接本地MySQL数据库。

    刚安装好的MySQL满含贰个含空密码的root帐户和叁个佚名帐户,那是十分的大的安全隐患,对于部分重大的采用大家应将安全性尽大概升高,在那地应把无名帐户删除、root帐户设置密码,可用如下命令实行:

    mysql> use mysql;
    mysql> delete from User where User="";
    mysql> update User set Password=PASSWORD(newpassword) where

      select database() 查询数据库名称

    5.4 表插入数据

    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

    譬如说:往表 MyClass中插入二条记下, 那二条记下表示:编号为1的名称为汤姆的实际业绩为96.45, 编号为2 的名称叫Joan 的成就为82.99, 编号为3 的名叫Wang 的大成为96.5。
       mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

    留意:insert into每便只好向表中插入一条记下。

           Grant 权限1,权限2,…权限n on 数据库名 表名称 to 顾客名@客户地址 identified by ‘连接密码’;

    User=root;

    2.表

    5.5 查询表中的数据

    1)、查询全体行
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    举个例子:查看表 MyClass 中颇负数据
       mysql> select * from MyClass;

    2)、查询前几行数据
    例如:查看表 MyClass 中前2行数据
    mysql> select * from MyClass order by id limit 0,2;

    select常常同盟where使用,以询问更确切更目眩神摇的数额。

     

    风流罗曼蒂克经要对客商所用的登入终端实行限定,能够更新User表中相应客户的Host字段,在开展了上述更正后应重新起动数据库服务,那时候报届期可用如下相像命令:

    shell> mysql -uroot -p;
    shell> mysql -uroot -pnewpassword;
    shell> mysql mydb -uroot -p;

      show tables 查询全部表

    5.6 删除表中数据

     

     

     

    命令:delete from 表名 where 表达式

    比方说:删除表 MyClass中编号为1 的笔录
    mysql> delete from MyClass where id=1;

    上边是一个去除数据前后表的看待。

    FirstName LastName Age
    Peter Griffin 35
    Glenn Quagmire 33

    上边以PHP代码为例删除 "Persons" 表中颇负 LastName='Griffin' 的笔录:

    <?php 
       $con = mysql_connect("localhost","peter","abc123"); 
       if (!$con) 
       {
          die('Could not connect: ' . mysql_error()); 
       } 
       mysql_select_db("my_db", $con); 
       mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); 
    ?>
    

    在这里次删除之后,表是这样的:

    FirstName LastName Age
    Glenn Quagmire 33

    4.   数据库操作:

    shell> mysql mydb -uroot -pnewpassword;

    地方命令参数是常用参数的风流罗曼蒂克有个别,详细情形可参谋文书档案。此处的mydb是要登入的数据库的称号。

      create table <表名>( <字段名1> <类型1>[,...<字段名n> <类型n>] )   创制数据库

    5.7 改善表中多少

    语法:update 表名 set 字段=新值,… where 条件
       mysql> update MyClass set name='Mary' where id=1;

    例子1:单表的MySQL UPDATE语句:
       UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

    例子2:多表的UPDATE语句:
    UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

    UPDATE语法可以用新值更新原有表行中的各列。SET子句提示要改正哪些列和要给以什么值。WHERE子句钦定应更正哪些行。若无WHERE子句,则更新具备的行。如若钦定了O兰德酷路泽DER BY子句,则遵照被钦赐的生机勃勃风姿浪漫对行进行立异。LIMIT子句用于给定三个限值,限定能够被更新的行的数码。

     

    4.1导出数据库

    在展成本付和实际采取中,顾客不应该只用root顾客举办连接数据库,纵然接纳root客商张开测试时很有益于,但会给系统带给首要安全隐患,也不便利管理技巧的滋长。咱们给叁个应用中应用的客户付与最贴切的数据库权限。如三个只举行数量插入的客商不应付与其删除数据的权限。MySQL的客户处理是经过User表来兑现的,加多新顾客常用的不二秘诀有四个,一是在User表插入相应的多少行,同有的时候间设置相应的权柄;二是通过grant命令成立具备某种权力的客商。在那之中grant的常用用法如下:

    mysql> grant all on mydb.* to NewUserName@HostName identified by "password" ;
    mysql> grant usage on *.* to NewUserName@HostName identified by "password";
    mysql> grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";
    mysql> grant update,delete on mydb.TestTable to NewUserName@HostName

      drop table  <表名>  删除表

    5.8 增添字段

    命令:alter table 表名 add字段 类型 其他;
    譬喻:在表MyClass中增添了一个字段passtest,类型为int(4),私下认可值为0
       mysql> alter table MyClass add passtest int(4) default '0'

    加索引
       mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
    例子: mysql> alter table employee add index emp_name (name);

    加主关键字的目录
      mysql> alter table 表名 add primary key (字段名);
    例子: mysql> alter table employee add primary key(id);

    加唯意气风发节制条件的目录
       mysql> alter table 表名 add unique 索引名 (字段名);
    例子: mysql> alter table employee add unique emp_name2(cardnumber);

    除去有些索引
       mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table employee drop index emp_name;

    充实字段:
    mysql> ALTER TABLE table_name ADD field_name field_type;

    修正原字段名称及项目:
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

    删去字段:
    MySQL ALTER TABLE table_name DROP field_name;

    mysqldump -u 客商名 -p --default-character-set=编码 数据库名 > 导出的文件名

    identified by "password";

    若要给此客商付与他在相应对象上的权杖的田间管理力量,可在grant前面增多with grant

      drop table if exist  <表名>  尽管存在,删除表

    5.9 改正表名

    命令:rename table 原表名 to 新表名;

    比方:在表MyClass名字改成为YouClass
       mysql> rename table MyClass to YouClass;

    当你实施 RENAME 时,你不能够有其余锁定的表或移动的事务。你相仿也必得有对原初表的 ALTEEnclave 和 DROP 权限,甚至对新表的 CREATE 和 INSERT 权限。

    只要在多表更名中,MySQL 遭碰着任何不当,它将对富有被更名的表举办失败更名,将每件东西退回到最先状态。

    RENAME TABLE 在 MySQL 3.23.23 中被投入。

    数据库暗许编码是latin1

    option选项。而对于用插入User表增多的顾客,Password字段应用password函数进行更新加密,以免不轨之人窃看密码。对于那一个曾经不用的客商应予以淹没,权限过界的顾客应立时回笼权限,回笼权限能够透过更新User表相应字段,也得以采用revoke操作。以下是常用权限的阐述:

    全局处理权限
    FILE:在MySQL服务器上读写文件。
    PROCESS:展现或杀死归于其余顾客的劳动线程。
    RELOAD:重载访谈调节表,刷新日志等。
    SHUTDOWN:关闭MySQL服务。
    数据库/数据表/数据列权限
    ALTEENCORE:纠正已存在的数据表(比如扩展/删除列卡塔 尔(阿拉伯语:قطر‎和目录。
    CREATE:创设新的数据库或数据表。
    DELETE:删除表的笔录。
    DROP:删除数据表或数据库。
    INDEX:营造或删除索引。
    INSERT:扩充表的记录。
    SELECT:展现/搜索表的笔录。
    UPDATE:修正表中已存在的笔录。
    非常的权位
    ALL:允许做其余事(和root同样卡塔 尔(阿拉伯语:قطر‎。

      rename table <原表名> to <新表名>

    6、备份数据库

    命令在DOS的[url=file://\mysql\bin]\mysql\bin[/url]目录下实行

    1.导出任何数据库
    导出文件私下认可是存在mysqlbin目录下
        mysqldump -u 顾客名 -p 数据库名 > 导出的公文名
        mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出一个表
        mysqldump -u 客户名 -p 数据库名 表名> 导出的文件名
        mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出二个数据库结构
        mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
        -d 未有数量 –add-drop-table 在每一种create语句从前扩大多个drop table

    4.带语言参数导出
        mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    举个例子,将aaa库备份到文件back_aaa中:
      [root@test1 root]# cd /home/data/mysql
      [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    4.2导入数据库

    USAGE:只允许登入--其余什么也不容许做。

    MySQL常用操作基本操作,以下都是MySQL5.0下测量试验通过首先表达下,记住在每种命令结束时加上;(分号卡塔 尔(英语:State of Qatar)
    1.导出任何数据库
    mysqldump -u 客户名 -p --default-character-set=latin1 数据库名 > 导出的文本名(数据库私下认可编码是latin1)
    mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
    2.导出八个表
    mysqldump -u 客户名 -p 数据库名 表名> 导出的公文名
    mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
    3.导出三个数据库结构
    mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
    -d 非常少 –add-drop-table 在各种create语句在此以前扩张一个drop table
    4.导入数据库
    常用source 命令
    步入mysql数据库调控台,
    如mysql -u root -p
    mysql>use 数据库
    然后使用source命令,后边参数为脚本文件(如这里运用的.sql)
    mysql>source d:wcnc_db.sql

      delete from <表名> where <表明式> 删除表中多少

    7.1 叁个建库和建表的实例1

    drop database if exists school; //假使存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    新葡亰496net,(
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ‘深圳’,
        year date
    ); //建表甘休

    //以下为插入字段
    insert into teacher values(”,’allen’,'阿比让第一中学’,'一九八零-10-10′);
    insert into teacher values(”,’jack’,'罗安达二中’,'1972-12-23′);

    倘使你在mysql提醒符键入上边包车型地铁命令也能够,但不便于调节和测验。
    1、你能够将上述命令原样写入几个文书文件中,假若为school.sql,然后复制到c:\下,并在DOS状态走入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
    常用命令,MySQL常用命令计算。    mysql -uroot -p密码 < c:\school.sql
    倘使成功,空出生龙活虎行无任何展现;如有错误,会有提示。(以上命令已经调节和测量试验,你只要将//的笺注去掉就能够使用卡塔 尔(阿拉伯语:قطر‎。

    2、或然步向命令行后采取 mysql> source c:\school.sql; 也足以将school.sql文件导入数据库中。

    mysqldump -u 顾客名 -p 数据库名 < 导入的文书名

    你或然感兴趣的稿子:

    • mysql 常用命令综合[相对精粹]
    • mysql cmd常用命令
    • MySQL导入导出.sql文件及常用命令小结
    • MySQL 常用命令
    • MySQL数据库备份和恢复生机的常用命令小结
    • mysql常用命令行操作语句
    • Mysql常用命令 详细收拾版
    • MySQL操作数据库和表的常用命令新手教程
    • MySQL查看表和清空表的常用命令总结
    • mysql 维护常用命令
    • mysql常用命令汇总介绍

      insert into <表名> [(<字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )] 插入数据

    7.2 一个建库和建表的实例2

    drop database if exists school; //如若存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
        id int(3) auto_increment not null primary key,
        name char(10) not null,
        address varchar(50) default ''深圳'',
        year date
    ); //建表截至

    //以下为插入字段
    insert into teacher values('''',''glchengang'',''费城一中'',''1977-10-10'');
    insert into teacher values('''',''jack'',''布里斯班一中'',''1973-12-23'');

    注:在建表中
    1、将ID设为长度为3的数字字段:int(3);并让它每一种记录自动加后生可畏:auto_increment;并不能够为空:not null;并且让他产生主字段primary key。

    2、将NAME设为长度为10的字符字段

    3、将ADDRESS设为长度50的字符字段,并且缺省值为费城。

    4、将YEATiggo设为日期字段。

    备份数据库:(命令在DOS的\mysql\bin目录下实施卡塔尔国

    1.导出全部数据库

    导出文件默许是存在mysqlbin目录下

    mysqldump -u 客户名 -p 数据库名 > 导出的文书名

    mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出四个表

    mysqldump -u 客商名 -p 数据库名 表名> 导出的文本名

    mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出三个数据库结构

    mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql

    -d 没多少 –add-drop-table 在每一种create语句在此以前扩充一个drop table

    4.带语言参数导出

    mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    备份数据库:(命令在DOS的\mysql\bin目录下执行卡塔 尔(阿拉伯语:قطر‎

    1.导出一切数据库

    导出文件默许是存在mysqlbin目录下

    mysqldump -u 顾客名 -p 数据库名 > 导出的文本名

    mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出多少个表

    mysqldump -u 客商名 -p 数据库名 表名> 导出的公文名

    mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出多个数据库结构

    mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql

    -d 没多少 –add-drop-table 在各样create语句在此之前扩大叁个drop table

    4.带语言参数导出

    mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    1. 备份数据库 
      mysqldump -uroot -p test_db > test_db.sql 
    2. 过来数据库 
      mysql -uroot -p test_db < test_db.sql 
    3. 始建权限 
      grant all privileges on test_db.* to test_db@'localhost' identified by '123456'; 
      包容mysql4.1事先进楷模式: 
      update mysql.user set password=old_password('123456') where user='test_db'; 
    4. 忘掉密码 
      在“my.cnf”或“my.ini”文件的“mysqld”配置段增多“skip-grant-tables”,然后重新启航mysql就能够登陆改正root密码。

     

      update <表名> set 字段=值, ... where <表明式>  更新表中多少

    4.3 数据库操作

      select <字段1,字段2, ...> from <表名> where <表达式> order by <字段x, ...> limit m,n group by <字段y, ...> having <表达式>  查询

      • show databases; 展现MySQL中具备的数据库列表
      • create database <数据库名>; 创造数据库
      • use <数据库名>; 设置当前应用的数据库
      • drop database <数据库名>; 删除数据库
      • select database(); 查看当前应用的数据库
      • show tables; 显示当前数据库中的全部表
      • create database cc default charset utf8 collate utf8_unicode_ci; 以UTF8营造数据库,能够确认保证汉语数据的正规插入。

      alert table <表名> add <字段名> <类型>[... 其他]  给表扩大字段

     

      alert table <表名> drop <字段名>  删除表中的字段

    5.   表操作

      alert table <表名> change <原字段名>   <新字段名> <新的等级次序>  修改表中字段

    • create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); 创建表

      show index from <表名>  查询索引

    create table MyClass(

      show keys from <表名>  查询索引

    id int(4) not null primary key auto_increment,

      alert table <表名> add index <索引名> (<字段名1[, 字段名2 ...]>卡塔尔国 给表加多索引

    name char(20) not null,

      alert table <表名> add unique <索引名> (<字段名>卡塔 尔(英语:State of Qatar)给表加多独一索引

    sex int(4) not null default '0',

      alert table <表名> add primary key (<字段名>)   给表中的主键增加索引

    degree double(16,2)

    3.备份

    );

      mysqldump -u <客户名> -p <数据库名>  >  导出的公文名        导出数据库,导出文件私下认可在mysql/bin目录下

    • desc 表名(只怕show columns from 表名); 获取表结构
    • drop table <表名>; 删除表
    • alter table <表名>…; 修改表新闻
    • insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]; 插入表数据
    • mysqldump -u 顾客名 -p 数据库名 表名> 导出的公文名; 导出三个表,导出文件名平时为*.sql文件
    • select *或字段列表 from 表名 where 条件 order by 排序字段; 查询表记录
    • delete from 表名 where 条件; 删除表记录
    • update 表名 set 字段=值 where 条件; 改革表记录
    • alter table 表名 add字段 类型 其余; 在表中增添新字段
    • rename table 原表名 to 新表名; 校正表名
    • alter table 表名 default character set 编码方式; 改进表的私下认可字符集

      mysqldump -u <客商名> -p <数据库名>  <表名>   >  导出的公文名

    6.   字段类型

     

    • INT[(M)] 型: 平常尺寸整数类型
    • DOUBLE[(M,D)] [ZEROFILL] 型: 不奇怪尺寸(双精制)浮点数字类型
    • DATE 日期类型:扶持的限制是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来呈现DATE值,可是允许你利用字符串或数字把值赋给DATE列
    • CHAWrangler(M) 型:定长字符串类型,当存款和储蓄时,总是是用空格填满左边到钦点的长度
    • BLOB TEXT类型,最大尺寸为65535(2^16-1)个字符
    • VARCHA奥迪Q3型:变长字符串类型

    7.   改善密码

    mysqladmin -u用户名 -p旧密码 password 新密码

     

    8.   备份数据库

    mysqldump --opt school>school.bbb

    讲明:将数据库school备份到school.bbb文件,school.bbb是五个文书文件,文件名任取,展开看看你会有新意识。

     

    9.   数据库导入和导出

    mysqldump –u用户名 –p密码 数据库名>导出文件名 导出数据库

    source 导入文本名  导入数据库

     

    10.  表索引

    alter table 表名 add unique 索引名 (列名); 增多独一索引

    alter table 表名 add index 索引名(列名1,列名2,…); 增加普通索引(能够多列或一列)

    alter table 表名 add fulltext 索引名(列名); 增加全文索引

     

    本文由新葡亰496net发布于网络数据库,转载请注明出处:常用命令,MySQL常用命令计算

    关键词:

上一篇:没有了

下一篇:没有了