STUNUM

面有萌色,胸有丘壑。心有猛虎,细嗅蔷薇。

嗨,我是王鑫 (@stunum),一名 Python 开发者。


Python web开发,后端以Django框架为主,前端使用Vue.js...

MySQL一些命令

数据库创建与删除

1)数据库创建命令:

mysql> create database <数据库名>;

例如创建名为wordpress的数据库:

mysql> create database wordpress;

创建数据库并添加用户命令:

mysql> create database <数据库名>;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 用户名@localhost IDENTIFIED BY '密码';
mysql> SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');

依次执行3个命令完成数据库创建并添加用户。

删除数据库

显示数据库命令:

mysql> show databases;

删除操作命令:

mysql> drop database <数据库名>;

附加例子1:删除一个已经确定存在的数据库

mysql> drop database <数据库名>;

附加例子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> drop database if exists drop_database;//if exists 判断数据库是否存在,不存在也不产生错误
   Query OK, 0 rows affected (0.00 sec)

选择数据库

命令:

mysql> use <数据库名>;

例如:如果wordpress数据库存在,尝试存取它:

mysql> use wordpress;

屏幕提示:Database changed

数据表操作

1)创建数据表命令:

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

例如,建立一个名为MyClass的表, 字段名数字类型数据宽度是否为空是否主键自动增加默认值

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)修改表名命令:

mysql> rename table 原表名 to 新表名;

例如:在表MyClass名字更改为YouClass

mysql> rename table MyClass to YouClass;

当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

3)删除数据表命令:

mysql> drop table <表名>

例如:删除表名为 MyClass 的表

mysql> drop table MyClass;

DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!

注意:对于一个带分区的表,DROP TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。DROP TABLE还会取消与被取消的表有关联的分区定义(.par)文件。

对与不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE。

RESTRICT和CASCADE可以使分区更容易。目前,RESTRICT和CASCADE不起作用。

4)表中插入数据命令:

mysql> insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )];

例如:往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为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每次只能向表中插入一条记录。

5)查询表中数据

  • 查询行命令:
    mysql> select <字段1,字段2,...> from < 表名 > where < 表达式 >;
    

    例如:查看表 MyClass 中所有数据

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

    注:select一般配合where使用,以查询更精确更复杂的数据。

6)删除表中的数据命令:

mysql> delete from <表名> where 表达式;

例如:删除表 MyClass中编号为1 的记录

mysql> delete from MyClass where id=1;

7)更新表数据命令:

mysql> update 表名 set 字段=新值,… where 条件;

例如:更新表 MyClass中编号为1 的记录

mysql> update MyClass set name='Mary' where id=1;

8)字段修改

  • 增加字段命令:
    mysql> alter table 表名 add字段 类型 其他;
    

    例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0

    mysql> alter table MyClass add passtest int(4) default ‘0';
    
  • 删除字段命令:
    MySQL ALTER TABLE table_name DROP field_name;
    
  • 加索引命令:
    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 CHANGE old_field_name new_field_name field_type;
    

9)备份数据库

  • 导出整个数据库(导出文件默认是存在mysql\bin目录下) 命令:
    mysql> mysqldump -u 用户名 -p 数据库名 > 导出的文件名;
    

    例如:

    mysql> mysqldump -u user_name -p123456 database_name > outfile_name.sql;
    
  • 导出一个表命令:
    mysql> mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名;
    

    例如:

    mysql> mysqldump -u user_name -p database_name table_name > outfile_name.sql;
    
最近的文章

wordpress的灵巧改动

一、Wordpress[分类目录]小工具显示没有文章的分类只需要将下列代码添加到该主题的functions.php文件即可:add_filter( 'widget_categories_args', 'wpdx_show_empty_cats' );function wpdx_show_empty_cats($cat_args) { $cat_args['hide_empty'] = 0; return $cat_args;}二、让WordPress支持使用中文用户名注册和登录...…

水滴石穿继续阅读
更早的文章

vsftp安装

本教程以centos6.5 64位为例安装VSFTP#yum install vsftpd配置vsftpd.conf文件[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf# Example config file /etc/vsftpd/vsftpd.con## The default compiled in settings are fairly paranoid. This sample file# loosens things up a b...…

水滴石穿继续阅读