MySQL数据库服务配置好后,系统会有4个默认的数据库.

information_schema:虚拟对象,其对象都保存在内存中
performance_schema:服务器性能指标库
mysql:记录用户权限,帮助,日志等信息
test:测试库

MySQL数据库及表的管理

1.查询所有数据库

mysql> show databases;

2.创建数据库

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

默认指定编码格式为utf-8

mysql> create database if not exist db_name;

自定义编码格式

mysql> create database db_name default character set utf8;

删除数据库

mysql> drop database if exists db_name;

3.修改数据库

查询编码格式

mysql> show create database db_name;

修改编码格式

alter database db_name default character set gbk;

4.管理表

1.创建表及查看表

查看表

USE db_name;
show tables;

查看表结构

desc tbl_name;

查看表中的列

SHOW COLUMNS FROM tbl_name;

查看表的状态信息

show table status like 'tbl_name';

创建表语法:  

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (
... 字段定义 ...,
model VARCHAR(20) NOT NULL,
... 字段定义 ...
);

创建表:

mysql> create table tbl_name(
-> id int(11) not null auto_increment,
-> name char(16) not null,
-> age int default null,
-> address char(50) not null,
-> primary key(id)
-> )engine=innodb default charset=utf8
-> ;
Query OK, 0 rows affected (0.02 sec)

表中插入数据:

向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );

5.添加,删除或重新定义列,使用ALTER命令.

给表中添加字段

alter table tbl_name add column 字段名 varchar(5);

在表中删除字段

alter table tbl_name drop column 字段名;

在表中添加id字段

alter table tbl_name add id int not null
primary key auto_increment first;

更改列定义或名称

要改变列的定义,使用MODIFY 或CHANGE 子句以及ALTER命令。 例如, 要改变字段 c 从 CHAR(1) 修改为 CHAR(10), 那么可以这样做:

mysql> ALTER TABLE tbl_name MODIFY c CHAR(10);

CHANGE语法可能有点不同。CHANGE关键字后的名称是要修改的列,然后指定新的定义,其中包括新的名称。试试下面的例子:

#其中i为旧字段,j为新字段.
mysql> ALTER TABLE tbl_name CHANGE i j int;

更改列的默认值

可以使用ALTER命令更改任何列的默认值。尝试下面的例子.

mysql>ALTER TABLE tbl_name ALTER d SET DEFAULT 1000;
mysql> SHOW COLUMNS FROM tbl_name;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c | char(1) | YES | | NULL | |
| d | int(11) | YES | | 1000 | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

从任何一列删除默认的约束,可以使用ALTER命令以及DROP子句

mysql> ALTER TABLE tbl_name ALTER i DROP DEFAULT;
mysql> SHOW COLUMNS FROM tbl_name;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c | char(1) | YES | | NULL | |
| d | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

更改表类型
可以通过使用ALTER命令以及TYPE子句修改表的类型。试试下面的例子,将 tbl_name 的类型更改为MyISAM 表类型。
若想要知道一个表的当前类型,那么可使用 SHOW TABLE STATUS 语句。

mysql> ALTER TABLE tbl_name TYPE = MYISAM;
mysql> SHOW TABLE STATUS LIKE 'tbl_name'\G
*************************** 1. row ****************
Name: tbl_name
Type: MyISAM
Row_format: Fixed
Rows: 0
Avg_row_length: 0
Data_length: 0
Max_data_length: 25769803775
Index_length: 1024
Data_free: 0
Auto_increment: NULL
Create_time: 2017-04-03 18:35:36
Update_time: 2017-04-03 18:35:36
Check_time: NULL
Create_options:
Comment:
1 row in set (0.00 sec)

删除数据表:

mysql> DROP TABLE tbl_name;

将表中记录清空:

mysql> DELETE FROM tbl_name;
mysql>truncate table tbl_name;

重命名表:

mysql> rename table tbl_name to tb2_name;
或者
mysql> ALTER TABLE tbl_name RENAME TO tb2_name;

复制表数据(数据一样结构不同)

create table t2 select * from t1;

复制表结构

CREATE TABLE 新表 SELECT * FROM 旧表WHERE 1=2
或者
CREATE TABLE 新表 LIKE 旧表

参考文档:
http://www.cnblogs.com/zmxmumu/p/4424877.html

http://www.cnblogs.com/chenmh/p/5644644.html

http://www.yiibai.com/mysql/mysql_alter_command.html

 

MySQL库和表的管理的更多相关文章

  1. MySql库、表权限管理

    #授权表user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段tables_priv #该表放行 ...

  2. mysql中DDL库和表的管理

    #DDL /* 数据定义语言 库和表的管理 一.库的管理 创建.修改.删除 二.表的管理 创建.修改.删除 创建:create 修改:alter 删除:drop */ #一.库的管理 #1.库的创建 ...

  3. MySQL数据库以及表的管理

    MySQL数据库以及表的管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 今天我们探讨的话题就是如何使用MySQL做开发,我们运维的主要工作不是去开发SQL的,但尽管如此,我们有 ...

  4. MySQL 库、表、记录、相关操作(3)

    MySQL 库.表.记录.相关操作(3) 单表查询 """ 增: insert [into] [数据库名.]表名[(字段1[, ..., 字段n])] values (数 ...

  5. DDL库和表的管理

    库和表的管理 一. 库的管理 /* 语法: create database [if not exists]库名; */ #.创建库Books CREATE DATABASE IF NOT EXISTS ...

  6. 将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下)_2

    将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下, 此pubs下的表名是employee,不冲突),方法大致以下几个(另有其他方法待补充), ...

  7. MySQL库和表的操作

    MySQL库和表的操作 库操作 创建库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯 ...

  8. 涂抹mysql笔记-管理mysql库和表

    mysql的表对象是基于库维护的,也就是说它属于某个库,不管对象是由谁创建的,只要库在表就在.这根Oracle不同Oracle中的表对象是基于用户的.属于创建改对象的用户所有,用户在表就在.mysql ...

  9. (六)MySQL数据、库、表的管理

    目录 数据的管理 库的管理 表的管理 数据的管理 一.数据插入语句 1.语法: INSERT INTO 表名(列名,...) VALUES(值1,...); 2.案例:在beauty表中添加一条信息( ...

随机推荐

  1. 【转】Unity3D的LightProbe动态光探头用法介绍

    原创至上,移步请戳:Unity3D的LightProbe动态光探头用法介绍 之前曾经介绍过Unity3D的LightMapping烘焙的用法.单独使用的LightMapping效果很好,但由于只是把光 ...

  2. 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-2 动画过渡

    动画过渡(Transitions) 这一小节我们先来讲“动画过渡(Transitions)”这个插件的使用,源文件:transition.js Bootstrap框架默认给各个组件提供了基本动画的过渡 ...

  3. Windows 安装 setuptools 和 feedparser

    一.安装setuptools: 页面: https://pypi.python.org/pypi/setuptools#downloads 1.下载该zip文件,解压,例如:C:\setuptools ...

  4. LeetCode: N-Queens II 解题报告

    N-Queens II (LEVEL 4 难度级别,最高级5) Follow up for N-Queens problem.

  5. scala工程导入报错:scalatest_2.10-1.9.1.jar is cross-compiled with an incompatible version of Scala (2.10).

    错误原因: The Scala IDE tries to check if binary incompatible Scala libraries have been inadvertently mi ...

  6. Drozer快速使用指南

    1.简介: Drozer是一款用于测试android应用程序漏洞的安全评估工具,能够发现多种类型的安全的漏洞,免费版本的相关资源下载地址: https://www.mwrinfosecurity.co ...

  7. JS正则验证邮箱的格式(转)

    转载自:https://www.cnblogs.com/dyllove98/archive/2013/06/28/3161626.html 一.相关的代码 function test() { var ...

  8. java工具类POI导出word

    1.新建一个word,里面填写内容,如: 2.导出wordjava类 /** * POI导出word测试 * @throws Exception */ @RequestMapping(value=&q ...

  9. C语言 · 猜灯谜

    标题:猜灯谜 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字. 请你用计算机按小明的思路算一下,然后提交“请猜谜”三 ...

  10. linux 获取网卡信息

    sar -n DEV 2 10:41:37 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s10:41:39 AM eth ...