2. 管理MySQL库和表

列出当前的数据库:show databases;


删除数据库: drop database db_name;

语法:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

帮助查看: help drop database;

删除数据库并查看: drop database test;

 
优雅删除数据库并查看:drop database if exists test;
 
创建数据库: create database db_name
示例:
create database jssdb;
show databases;
 
操作系统上查看:
 
通过操作系统层的mkdir命令,在MySQL数据库的data路径下创建一个目录:
cd /data/mysqldata/3306/data/
mkdir jssdb_mc
在MySQL数据库中查看:
使用create database命令创建数据库,不仅创建一个同名目录,该目录下还包含要给名为db.opt的文件,其内容如下:
default-character-set=utf8
default-collation=utf8_general_ci
 
查看创建的数据库的字符集:
show create database jssdb;
select * from information_schema.schemata;
 
使用use命令选定数据库,以明确操作的对象所属的数据库。
使用show tables查看某个库中拥有的表对象。
 
备注:
在调用mysql时在最后附加数据库名,即可直接进入指定的库。
mysql -usystem -p'5ienet.com' mysql
 
 
创建表:
详细语法查看:help create table;
基本语法: Create TABLE tab_name(col_name1 col_type1, col_name2 col_type2 ........);
示例:
 
jssdb数据库下创建users表:
use jssdb;
 
create table users(
username varchar(10), 
sex tinyint,
birth date,
address varchar(50),
phoneno varchar(15));
 
在jssdb数据库下创建jssdb_mc数据库下的users表。
create table jssdb_mc.users(
username varchar(10), 
sex tinyint,
birth date,
address varchar(50),
phoneno varchar(15));
 
 
查看表:
查看表结构信息: desc tab_name
 
查看mysql库下的db对象的表结构:desc mysql.db;
DESC命令输出的结果共有6列:

    Field:字段表示的是列名

  Type:字段表示的是列的数据类型

    Null :字段表示这个列是否能取空值

    Key :在mysql中key 和index 是一样的意思,这个Key列可能会看到有如下的值:PRI(主键)、MUL(普通的b-tree索引)、UNI(唯一索引)

    Default: 列的默认值

    Extra :其它信息

备注:
DESC tbl_name语句和SHOW COLUMNS PFROM tbl_name语句的功能完全相同。
show columns from mysql.db;
查看表对象下创建的索引:SHOW INDEX
show index from mysql.db;
 
获取mysql.db对象的创建脚本:
show create table mysql.db\G;
 
 
 
 
修改表:
help alter table;
 
增加
ALTER TABLE tab_name ADD(col1 col_definition, col2 col_definition);
示例:
alter table users add(email varchar(50),salary smallint);
desc users;
 
 
删除:
ALTER TABLE tab_name DROP col_name;
示例:
alter table users drop salary;
 
 
修改:
ALTER TABLE tab_name CHANGE col_name new_col col_definition;
或:
ALTER TABLE tab_name MODIFY col_name col_definition;
 
示例:
alter table users change username username varchar(10);
alter table users modify username varchar(20);
 
 
将jssdb_mac.users表的结构修改为与jssdb.users一样,操作如下:
alter table jssdb_mc.users add email varchar(50), modify username varchar(20);
 
 
删除表:
 
删除语法:
 
删除jssdb库下的users表对象
drop table users;
 
谨慎删除!!!(先备份后删除,或重命名)
 
重命名表对象语法(不仅可以重命名表,还可以移动表,比如从一个库移动到另一个库)
将jssdb_mc下的users表移动至jssdb库下保存:
rename table jssdb_mc.users to jssdb.users;
 
备注:information_schema库下的表无法移动。
posted @ 2017-11-24 14:38  zhuntidaoren  阅读(168)  评论(0编辑  收藏  举报