MySQL数据库及表的管理

库管理

1.创建数据库


mysql> help create database;

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...
create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

2.删除数据库


mysql> help drop database;

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

3.修改数据库的字符集和排序字符以及数据字典


mysql> help alter database;

ALTER {DATABASE | SCHEMA} [db_name]
    alter_specification ...
ALTER {DATABASE | SCHEMA} db_name
    UPGRADE DATA DIRECTORY NAME

alter_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name


表管理

1.创建表

(a)第一种方式

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]

[create_definition]
     字段的定义:字段名、类型和类型修饰符;
     键、索引和约束; --> 键是索引,索引未必是键;键可以表示约束
          primary key、unique key、foreign key、check(条件约束)
          {index|key}

[table_options]
     engine [=] engine_name  ---> 注1
     AUTO_INCREMENT [=] value 指定AUTO_INCREMENT的起始值
     [DEFAULT] CHARACTER SET [=] charset_name 指定默认字符集
     CHECKSUM [=] {0 | 1} 是否使用校验值
     [DEFAULT] COLLATE [=] collation_name 排序规则
     COMMENT [=] ‘string‘ 注释
     DELAY_KEY_WRITE [=] {0 | 1} 是否启用键延迟写入 (索引降低了写操作)
     ROW_FORMAT [=] {DEFAULT(默认)|DYNAMIC(动态)|FIXED(静态)|COMPRESSED(压缩)|REDUNDANT(冗余)|COMPACT(紧致)} 表格式
     TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 表空间  ---> 注2

(b)第二种方式(复制表数据)

 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    select_statement

(c)第三种方式(复制表结构)

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) }

2.查看表的状态信息

show table status like ‘table_name’

3.删除表

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]

4.修改表

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
    [alter_specification [, alter_specification] ...]

(a)修改字段定义

插入新字段:
    ADD [COLUMN] col_name column_definition
        [FIRST | AFTER col_name ]
删除字段
    DROP [COLUMN] col_name
修改字段
    修改字段名称
        CHANGE [COLUMN] old_col_name new_col_name column_definition
            [FIRST|AFTER col_name]
    修改字段类型及属性等
        MODIFY [COLUMN] col_name column_definition
            [FIRST | AFTER col_name]

(b)表改名

mysql > rename table to old_name TO new_name

(c)修改存储引擎

engine =

(d)指定排序标准的字段

ORDER BY col_name [, col_name] ...

(e)转换字符集及排序规则

CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]

注1

mysql > show engine

注2

TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 表空间

MyISAM表,每个表有三个文件,都位于数据库目录中

tb_name.frm:表结构定义

tb_name.MYD:数据文件

tb_name.MYI:索引文件

InnoDB表,有两种存储方式

1.默认:每表有一个独立文件和一个多表共享的文件

tb_name.frm:表结构的定义,位于数据库目录中

ibdata#:共享的表空间文件,默认位于数据目录(datadir指向的目录)中

2.独立的表空间文件:

每表有一个表结构文件tb_name.frm

一个独立的表空间文件 tb_name.ibd(数据和索引)

(a)应该修改innodb_file_per_table为ON

(b)可以通过修改配置文件永久有效在 [mysqld]段

innodb_file_per_table=ON

时间: 2024-11-06 18:09:50

MySQL数据库及表的管理的相关文章

MySQL数据库以及表的管理

MySQL数据库以及表的管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 今天我们探讨的话题就是如何使用MySQL做开发,我们运维的主要工作不是去开发SQL的,但尽管如此,我们有可能需要对别人写出来的复杂SQL语句做性能评估,去分析他们写的SQL语句是不是足够高效,如果不是的话,我们还要能够达到对对方的SQL语句做改写的能力.所以,我们无需自行去开发SQL,但是我们一定要有一个看懂别人写的SQL的能力哟! 一.DBA的职责 1.开发DBA: 负责数据库设计(E-R关系图).

MySQL库和表的管理

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>

MySQL 数据库用户和权限管理

MySQL 数据库用户和权限管理 技能目标 掌握MySQL 用户管理 添加管理用户 修改密码及忘记密码修改 用户授权 数据库是信息系统中非常重要的环节,合理高效的对它进行管理是很重要的工作.通常是由拥有最高权限的管理员创建不同的管理账户,然后分配不同的操作权限,把这些账户交给相应的管理人员使用 用户管理 1: 新建用户 新建用户的命令格式如下 CREATE USER 'username'@'host' [IDENTIFIED BY [PASSWORD]'password'] #大写是固定格式大括

MySql数据库创建表

3.3.MySql数据库创建表 创建5个表: UserInfo用户基础表 Role 角色表 MenuInfo 菜单即控制表 Relation_Role_Menu 角色对应菜单关系表 RelaTion_User_Role  用户角色关系表 Depart 部门信息表 表名:USERINFO 用户信息表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 ID INT 是 否 主键 2 USER_NAME VARCHAR 100 是 用户姓名 3 USER_ID VARCHAR

SQL数据库和表的管理

SQL数据库和表的管理(二) 利用SSMS数据库管理工具登陆数据库 创建一个名为db_class的数据库 设置数据库为自动收缩 将数据库分离,以便数据库文件的迁移 分离数据库 为学分设置限制,限制在0-20分之间 其他列的数据类型如下 附加数据库 将之前移动的日志文件从新附加 创建一个名叫course的表 插入数据 利用命令语句插入数据 修改任课老师为王老师,备注为生病,课程编号为0002 创建一个表 查询表中工资大于3000的员工信息 查询表中出生年月为1950-1958年之间的人 查询家庭住

sql语句备份/导入 mysql数据库或表命令

sql语句备份/导入 mysql数据库或表命令,布布扣,bubuko.com

2 数据库和表的管理 步骤

2.sqlserver 数据库和表的管理 防伪码:书山有路勤为径 学海无涯苦作舟 实验一: 实验环境:公司安装了SQL SERVER 2008企业版,现在完成如下任务: 1.创建一个名为benet的数据库(略) 2.创建一个名为员工信息表的表,表中所包含字段,如图1所示并完成下列查询 1)显示表中全部内容 2)显示工资大于5000员工的所有信息 3)显示所有在1950到1988年之间出生员工的所有信息 4)查询出所有住在昌平的员工 3.完成下列需求操作请写出相关的T-SQL语句 1)所有销售员的

MySQL数据库、表的字符编码

用MySQL命令行新建数据库和表时默认的字符编码是latin1,但是在实际开发过程中一般都是使用utf8格式的编码.操作如下: 1.修改数据库字符编码 mysql> alter database mydb character set utf8 ;2.创建数据库时,指定数据库的字符编码 mysql> create database mydb character set utf8 ;3.查看mysql数据库的字符编码 mysql> show variables like 'character

mysql数据库单表只有一个主键自增id字段,ibatis实现id自增

mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid">        insert into user_id values(null)        <selectKey resultClass="int">SELECT @@IDENTITY As id</selectKey>    </insert>