mac os mysql 全局_Mac OS下安装mysql及其简单使用

使用数据库数据库一旦创建,就可以通过“使用”(use命令)数据库,将其指定为默认的工作数据库。mysql> use db_test;Database changed删除数据库删除数据库的方式与创建的方式很相似。可以在mysql客户端中使用drop命令删除数据库,如下:mysql> drop database db_test;Query OK, 0 rows affected (0.00 sec)处理表这里将对如何创建、列出、查看、删除和修改MySQL数据库表。创建表表通过create table语句来创建。创建表的过程中会使用非常多的选项和子句,在这里完全总结一遍也是不现实的,这里只是总结最普遍的,以后遇到别的,再单个总结。创建表的一般用法如下:mysql> create table tb_test(-> id int unsigned not null auto_increment,-> firstname varchar(25) not null,-> lastname varchar(25) not null,-> email varchar(45) not null,-> phone varchar(10) not null,-> primary key(id));Query OK, 0 rows affected (0.03 sec)记住,表至少包含一列。另外,创建表之后总是可以再回过头来修改表的结构。无论当前是否在使用目标数据库,都可以创建表,只要在表名前面加上目标数据库即可。例如:mysql> create table db_test.tb_test(-> id int unsigned not null auto_increment,-> firstname varchar(25) not null,-> lastname varchar(25) not null,-> email varchar(45) not null,-> phone varchar(10) not null,-> primary key(id));Query OK, 0 rows affected (0.03 sec)有条件的创建表在默认情况下,如果试图创建一个已经存在的表,MySQL会产生一个错误。为了避免这个错误,create table语句提供了一个子句,如果你希望在目标表已经存在的情况下简单地退出表创建,就可以使用这个子句。例如:mysql> create table if not exists db_test.tb_test(-> id int unsigned not null auto_increment,-> firstname varchar(25) not null,-> lastname varchar(25) not null,-> email varchar(45) not null,-> phone varchar(10) not null,-> primary key(id));Query OK, 0 rows affected, 1 warning (0.00 sec)无论是否已经创建,都会在返回到命令提示窗口时显示“Query OK”消息。复制表基于现有的表创建新表是一项很容易的任务。以下代码将得到tb_test表的一个副本,名为tb_test2:mysql> create table tb_test2 select * from db_test.tb_test;Query OK, 0 rows affected (0.03 sec)Records: 0  Duplicates: 0  Warnings: 0将向数据库增加一个相同的表tb_test2。而有的时候,可能希望只基于现有表的几个列创建一个表。通过create select语句中指定列就可以实现:mysql> describe tb_test;+-----------+------------------+------+-----+---------+----------------+| Field     | Type             | Null | Key | Default | Extra          |+-----------+------------------+------+-----+---------+----------------+| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment || firstname | varchar(25)      | NO   |     | NULL    |                || lastname  | varchar(25)      | NO   |     | NULL    |                || email     | varchar(45)      | NO   |     | NULL    |                || phone     | varchar(10)      | NO   |     | NULL    |                |+-----------+------------------+------+-----+---------+----------------+5 rows in set (0.01 sec)mysql> create table tb_test2 select id, firstname, lastname, email from tb_test;Query OK, 0 rows affected (0.03 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> describe tb_test2;+-----------+------------------+------+-----+---------+-------+| Field     | Type             | Null | Key | Default | Extra |+-----------+------------------+------+-----+---------+-------+| id        | int(10) unsigned | NO   |     | 0       |       || firstname | varchar(25)      | NO   |     | NULL    |       || lastname  | varchar(25)      | NO   |     | NULL    |       || email     | varchar(45)      | NO   |     | NULL    |       |+-----------+------------------+------+-----+---------+-------+4 rows in set (0.01 sec)创建临时表有的时候,当工作在非常大的表上时,可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录保存到一个临时表可能更快一些,然后对这些临时表进行查询操作。可以通过使用temporary关键字和create table语句来实现。mysql> create temporary table emp_temp select firstname, lastname from tb_test;Query OK, 0 rows affected (0.02 sec)Records: 0  Duplicates: 0  Warnings: 0临时表的创建与其它表一样,只是它们存储在操作系统指定的临时目录中。临时表将在你连接MySQL期间存在,当你断开时,MySQL将自动删除表并释放所有的内存空间;当然了,你也可以手动的使用drop table命令删除临时表。查看数据库中可用的表可以使用show tables命令完成。例如:mysql> show tables;+-------------------+| Tables_in_db_test |+-------------------+| tb_test           || tb_test2          |+-------------------+2 rows in set (0.00 sec)查看表结构可以使用describe语句查看表结构,例如:mysql> describe tb_test;+-----------+------------------+------+-----+---------+----------------+| Field     | Type             | Null | Key | Default | Extra          |+-----------+------------------+------+-----+---------+----------------+| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment || firstname | varchar(25)      | NO   |     | NULL    |                || lastname  | varchar(25)      | NO   |     | NULL    |                || email     | varchar(45)      | NO   |     | NULL    |                || phone     | varchar(10)      | NO   |     | NULL    |                |+-----------+------------------+------+-----+---------+----------------+5 rows in set (0.00 sec)另外,使用show命令也能得到相同的结果,例如:mysql> show columns in tb_test;+-----------+------------------+------+-----+---------+----------------+| Field     | Type             | Null | Key | Default | Extra          |+-----------+------------------+------+-----+---------+----------------+| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment || firstname | varchar(25)      | NO   |     | NULL    |                || lastname  | varchar(25)      | NO   |     | NULL    |                || email     | varchar(45)      | NO   |     | NULL    |                || phone     | varchar(10)      | NO   |     | NULL    |                |+-----------+------------------+------+-----+---------+----------------+5 rows in set (0.00 sec)删除表删除表是使用drop table语句实现的,其语法如下:drop [temporary] table [if exists] tbl_name [, tbl_name, ...]更改表结构我们会发现,我们会经常修改和改进表结构,特别是在开发初期;但是,每次进行修改时不必都先删除再重新创建表。相反,可以使用alter语句修改表的结构。利用这个语句,可以再必要时删除、修改和增加列。和create table一样,alter table提供了很多子句、关键字和选项。这里只是会说一些简单的使用,比如在表tb_demo表中插入一列,表示email,代码如下:mysql> alter table tb_demo add column email varchar(45);Query OK, 0 rows affected (0.14 sec)Records: 0  Duplicates: 0  Warnings: 0新的列放在表的最后位置。不过,还可以使用适当的关键字(包括first、after和last)来控制新列的位置。如果想修改表,比如,刚刚加的email,我想加入一个not null控制,代码可以是这样的:mysql> alter table tb_demo change email email varchar(45) not null;Query OK, 0 rows affected (0.11 sec)Records: 0  Duplicates: 0  Warnings: 0如果觉的这个email这列没有存在的必要了,可以使用下面的代码删除它,例如:mysql> alter table tb_demo drop email;Query OK, 0 rows affected (0.09 sec)Records: 0  Duplicates: 0  Warnings: 0二、常用命令汇总:连接:mysql -h 主机地址 -u 用户名 -p 用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车)创建授权:grant select on 数据库.* to 用户名@登录主机 identified by /"密码/"修改密码:mysqladmin -u用户名 -p旧密码 password 新密码删除授权: revoke select,insert,update,delete om *.* from test2@localhost;显示数据库:show databases;显示数据表:show tables;显示表结构:describe 表名;创建库:create database 库名;删除库:drop database 库名;使用库:use 库名;创建表:create table 表名 (字段设定列表);删除表:drop table 表名;修改表:alter table t1 rename t2查询表:select * from 表名;清空表:delete from 表名;备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasename tablename > tablename.sql恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql(操作前先把原来表删除)增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);删除列:ALTER TABLE t2 DROP COLUMN c;备份数据库:mysql/bin/mysqldump -h(ip) -uroot -p(password) databasename > database.sql恢复数据库:mysql/bin/mysql -h(ip) -uroot -p(password) databasename < database.sql复制数据库:mysql/bin/mysqldump --all-databases > all-databases.sql修复数据库:mysqlcheck -A -o -uroot -p54safer文本数据导入:load data local infile /"文件名/" into table 表名;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值