MySQL数据库表操作1

SHOW DATABASES

n  语法:    

u  SHOW DATABASES[LIKE wild] ;

l  如果使用LIKE wild部分,wild字符串可以是一个使用SQL的"%" 和"_" 通配符的字符串

n  功能:列出在MySQL服务器主机上的数据库

n  MySQL自带的数据库:

u  information_schema:主要存储了系统中的一些数据库对象信息:

l  如用户表信息、列信息、权限信息、字符集信息、分区信息等。(数据字典表)

u  mysql:存储了系统的用户权限信息及帮助信息。

u  test:系统自动创建的测试数据库,任何用户都可以使用。

 

SQL语句语法

n  SQL语句可单行或多行书写,以";"结尾。

n  用空格和缩进来提高语句的可读性。

n  关键词不能跨多行或简写,大小写不敏感(建议用大写)。

n  子句通常位于独立行,便于编辑,提高可读性。

                   SELECT* FROM EMPLOYEES;

         注释:

                   SQL标准

                            从/*序列到后面的*/序列。多行注释。

                            从' _ _ '序列到行尾。注意:第2个破折号后面至少更一个空格符(例如空格、tab、换行符等等)。该语法与标准SQL注释语法稍有不同

                   MySQL

                            从'#'字符到行尾

CREATE DATABASE

n  语法

u  CREATE DATABASE [IF NOT EXISTS] 数据库名;

n  功能:用给定的名字创建一个数据库。

n  前提:需要获得数据库的CREATE权限。

n  如果数据库已经存在,发生一个错误。

 

DROP DATABASE

n  语法:

u  DROP DATABASE [IF EXISTS] 数据库名;

n  功能:删除数据库中的所有表和数据库。

n  前提:需要获得数据库DROP权限。

n  要小心使用这个命令

                  

用USE选用数据库

n  语法:

u  USE数据库名;

n  功能:把指定数据库作为默认(当前)数据库使用,用于后续语句。

        

 

数据表的列类型

       列类型

                   MySQL支持多种列类型:

                            数值类型

                            日期/时间类型

                            字符串(字符)类型

        

数值数据类型——整数

类型

存储字节

描述

范围

BIT[(m)]

 

位字段类型

M表示每个值的位数,范围从1到64

TINYIN[(m)]

1

很小的整数

-128~127 无符号的范围是0~255

BOOL或BOOLEAN

 

TINYINT(1)同义词

0被视为假。非0值视为真

SMALLINT

2

小的整数

-32768~32767

无符号的范围是0~16777215

MEDIUMINT

3

中等大小的整数

-8388698~8388607

无符号的范围0~16777215

INT[(m)]

或INTERGER

4

普通大小的整数

-2147483648~2147483647

无符号的范围是0~4294967295

BIGINT[(m)]

8

大整数

-9223372036854775808~9223372036854775807

无符号的范围0~18446744073709551615

FLOAT(M,D)

4

单精度

-3.402823466E+38到-1.17549451E-38

DOUBLE(M,D)

8

双精度

-1.797693134862315E+308到-2.225073858072014E-308

DECIMAL[(M,D)]

变长

“严格”的定点数

整数最大位数为65。小数最大位数(D)为30

注:M表示最大显示宽度;D表示小数点后面的位数。

         定点数DECIMAL在内部以字符串形式存放,适合于表示货币等精度高的数据。一定要指定M和D。

 

日期和时间类型

        

类型

存储字节

描述

范围

DATE

4

日期

支持范围为'1000-01-01'到'9999-12-31'

DATETIME

8

日期和时间组合

范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'

TIMESTAMP

4

时间戳

'1970-01-01 00:00:00'到'2038-01-09 03:14:07'

TIME

3

时间

范围'-838:59:59'到'838:59:59'

YEAR[(2|4)]

1

两位或四位格式的年,默认是四位格式

在四位格式中,允许的值是1901到2155和0000。在两位格式中,允许的值是70到69,表示从1970到2069年

     

TIMESTAMP更时区相关,插入日期时,会先转换为本地时区后存放,而取出时,也会将日期转换为本地时区后显示。

 

字符串类型

类型

存储字节

描述

范围

CHAR(M)

M个

固定长度

M表示列长度,范围是0到255个字符

CHAR

 

CHAR(1)

 

VARCHAR(M)

L+1个

变长

M表示最大列长度。M的范围是0到65,535

BINARY(M)

M个

 

BINARY类型类似于CHAR类型,但保存二进制字节字符串而不是非二进制字符串

VARBINARY(M)

L+1

 

类似于VARCHAR类型,但保存二进制字节字符串而不是非二进制字符串

TINYBLOB

L+1

 

最大长度为255(28-1)字节的BLOB列

TINYTEXT

L+1

 

最大长度为255(28-1)字节的TEXT列

BLOB

L+2

二进制大对象

最大长度为65,535(216-1)字节的BLOB列

TEXT

L+2

长文本

最大长度为65,535(216-1)字节的TEXT列

MEDIUMBLOB

L+3

 

最大长度16,777,215(224-1)字节的BLOB列

MEDIUMTEXT

L+3

 

最大长度16,777,215(224-1)字节的TEXT列

LONGBLOB

L+3

 

最大长度为4,294,967,295或4GB(232-1)字节的BLOB列

LONGTEXT

L+3

 

最大长度为4,294,967,295或4GB(232-1)字符的TEXT列

ENUM('v1','v2')

1或2个

枚举类型

只能由一个值的字符串

SET('v1','v2',…)

1—8个

枚举类型

可以有零活多个值

 

有关数据表的DDL操作

       SHOW

u  语法:

l  SHOW TABLES [FROM 数据库名] [LIKEwild] ;

u  功能:显示当前数据库中已有的数据表的信息

       DESCRIBE

u  语法:

l  {DESCRIBE|DESC} 表明 [列名] ;

u  功能:查看数据表中各列的信息

u  用"SHOW CREATE TABLE 表名\G"可以查看更全面的表定义信息

用CREATE TABLE创建数据表

l  简单语法:

                            CREATETABLE 表明(

                                     列名列类型,

                                     列名列类型,

                                     …

                            );

u  功能:在当前数据库中创建一张表

u  前提:必须拥有表CREATE权限

        

关于识别符

         数据库名、表名、索引名、列名是识别符

        

识别符

最大长度(字节)

允许的字符

数据库名

64

目录名允许的任何字符,

表名

64

文件名允许的任何字符,?

列名

64

所有字符

索引名

64

所有字符

别名

255

所有字符

        

         操作系统的大小写敏感决定了数据库名和表名的大小写敏感性             

l  window系统大小写不敏感,linux,unix系统大小写敏感

 

         列、索引、存储子程序和触发器名在任何平台上对大小写不敏感,列的别名也不敏感

        

建表示例

        

         CREATETABLE depts(

                   dept_idINT,

                   nameVARCHAR(20),

                   descriptionVARCHAR(255)

         );

         CREATETABLE employees(

                   employee_id  INT,

                   name                 VARCHAR(20),

                   gender               CHAR,

                   dept_id              INT,

                   join_time          DATETIME,

                   salary                 DECIMAL(8,2),

                   address             CARCHAR(100),

                   image                BLOB,

                   description     TEXT

         );

 

删除数据表

n  语法:             

u  DROP TABLE [IF EXISTS] 表名;

n  删除指定的表

用ALTER TABLE语句修改表的结构

n  修改列类型

u  ALTER TABLE 表名MODIFY 列名列类型 [FITST|AFTER 列名] ;

n  增加列

u  ALTER TABLE 表名 ADD 列名列类型 [FIRST|AFTER 列名];

n  删除列

u  ALTER TABLE 表名 DROP 列名;

n  列改名

u  ALTER TABLE 表名 CHANGE 旧列名新列名 列类型 [FIRST|AFTER 列名]

n  更改表名                  

u  ALTER TABLE 表名 RENAME 新表名;

u  RENAME TABLE 表名 TO 新表名;

 

帮助的使用

       MySQL帮助的使用

u  安装自带的文档

l  安装目录\Docs\manual.chm

u  命令行帮助

l  ?contents       显示所有可供查询的分类

l  ?类别名称     如:? Data Types;

l  ?关键字            如: ? create table;

u  注:如果没有命令行帮助信息,可以导入MySQL目录下的share文件夹内的fill_help_tables.sql

        总结

u  有关数据库的DDL操作

l  SHOW DATABASES;

l  CREATE DATEABASE 数据库名;

l  DROP DATABASE [IF EXISTS] 数据库名;

l  USE 数据库名;

u  有关数据表的DDL操作

l  SHOW TABLES [FROM 数据库名]

l  DESC 表名;

l  CREATE TABLE 表名(…);

l  DROP TABLE [IF EXISTS] 表名;

l  ALTER TABLE 表名…;

u  数据表的类型

l  数值类型:INT  DOUBLE  DECIMAL

l  日期类型:DATE  TIME  DATETIME TIMESTAMP

l  字符串类型:CHAR(M)  VARCHAR(M)  TEXT BLOB      

u  帮助的使用:manual.chm  ?

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值