您的位置:首页 > 博客中心 > 数据库 >

Mysql 登陆&退出、创建&删除&选择数据库、基本数据类型、创建&删除表格

时间:2022-03-14 10:56

登陆数据库使用登陆命令:

shell>mysql [-h host] -u user -p [-D database]
Enter password: 

-h指定的是远程主机,登陆本地数据库可以不用,-D 用于指定登陆之后选择的数据库,如果没有指定数据库,则不进行数据库选择。进入数据库之后,每一条命令之前会有 mysql> 的提示符。mysql中的命令都严格以分号(;)作为命令结束。如果在一条命令没输入完之前换行,会出现 -> 的提示符。

退出数据库的命令:

mysql>exit

或:

mysql>quit

这两条后面可以不加分号


在mysql中创建数据库的命令:

mysql>create database database_name;

在mysql中删除数据库的命令:

mysql>drop database database_name;

要明确使用(选择)某个数据库的命令:

mysql>use database_name;

每次使用某个数据库前必须明确选择使用它,也既是使用use命令。


在创建数据库表格之前需要先了解mysql的数据类型。mysql主要有三类数据类型:数值类型、时间&日期类型、字符串类型。这个部分节选翻译自第一条链接。

数值类型:

  • int,正常整型数值,分为signed和unsigned,范围分别是 -2147483648 到 2147483647 和 0 到
    4294967295
  • tinyint,超小整型数值,分为signed和unsigned,范围分别是 -128 到 128 和 0 到 255
  • smallint,小型整型数值,分为signed和unsigned,范围分别是 -32768 到 32768 和 0 到 65535
  • mediumint,中等整型数值,分为signed和unsigned,范围分别是 -8388608 到 8388608 和 0 到
    16777215
  • bignit,大号整型数值,分为signed和unsigned,范围分别是 -9223372036854775808 到
    9223372036854775808和 0 到 18446744073709551615
  • float(m, d),浮点型数值,不能为unsigned。可以设定显示总长度m位数字和d位小数。默认情况下分别是10和2。
  • double(m,d),双精度浮点型数值,不能为unsigned。可以设定显示总长度m位数字和d位小数。默认情况下分别是16和4。
  • decimal(m,d),一种未包装的小数,不能为unsigned。每一位小数都对应一个字节,需要明确定义总长度m位数字和d位小数。numeric和decimal是同义词。

时间&日期类型:

  • date,yyyy-mm-dd格式,范围从1000-01-01到9999-12-31
  • datetime,yyyy-mm-dd hh:mm:ss格式,范围从1000-01-01 00:00:00到9999-12-31
    23:59:59
  • timestamp,范围从1970年1月1日0点0分0秒到2037年的某个时间,格式类似datetime,但是没有连字符。例如1973年12月30日15点30分0秒对应19731230153000(yyyymmddhhmmss)
  • time,hh:mm:ss格式存储。
  • year(m),2位或4位格式。指定2位时,例如year(2),能够存储1970年到2069年(70-69)。指定4位时,能够存储1901年到2155年,默认4位长度。

字符串类型:

  • char(m),固定长度字符串,长度从1到255,左对齐右填充,默认长度为1
  • varchar(m),变长字符串,长度从1到255,定义式必须指定一个长度。实际上从官网解释上看(第二条链接),从版本5.03及其以后,最大长度能到65535。长度小于等于255时,额外用一个字节存储长度值,长度超过255时,额外用2个字节存储长度值。
char(4) 存储需求 varchar(4) 存储要求
’ ‘ 4字节 1字节
‘ab’ ‘ab ‘ 4字节 ‘ab’ 3字节
‘abcd’ ‘abcd’ 4字节 ‘abcd’ 5字节
‘abcdefg’ ‘abcd’ 4字节 ‘abcd’ 5字节
  • blob和text,最大存储65535个字节。blob将数据当作二进制数组存储,可以保存图片、声音等数据;text依然将数据当作字符存储。无需为blob和text指定长度。具体参考第三条链接。
  • tinyblob和tinytext,最大存储255个字节,其余特性和blob/text一致
    mediumblob和mediumtext,最大存储16777215个字节,其余特性和blob/text一致
  • longblob和longtext,最大存储4294967295个字节,其余特性和blob/text一致
  • enum,枚举类型,枚举最多可以有65535个元素,枚举型字段中除列举字符串之外,可以为NULL,若插入非法字符串,将用空(”)字符串代替。关于枚举类型,更多参见第四条链接

在数据库中创建表格的命令:

mysql>create table table_name (cloumn_name colume_type, colunm_name colunm_type ...);

列项除了有数据类型,还可以添加一些别的属性,例如 not null, auto_increment, default等。还可以指定主键,设置数据库引擎,设置字符集等。例如:

mysql>create table hotel (
        -> `id` int unsinged not null auto_increment,
        -> `default test` int default 0,
        -> `num` char(4) not null,
        -> `price` varchar(5) not null,
        -> `position` varchar(30) not null,
        -> `describe` text,
        -> `available` enum(‘y‘, ‘n‘),
        -> primary key(`id`)
);

有几点需要注意:

  • ` 叫反引号,号是Esc下面的那个按键。在mysql语句中,如果创建表格时候表格的名字或属性字段跟系统关键字重名,或者名字中间包括空白字符,可以利用反引号把名字括起来,mysql只保留反引号内的内容。同时要注意,用其他引号括起来都不对,因为mysql会认为引号是字段的起始字符,这不符合命名规则。
  • text类型不能有默认值。需要默认值的可以在字段后面用 default 注明。
  • 利用 primary key(column_name, column) 来设置主键,多个列项之间用逗号隔开。

在数据库中删除表格的命令:

mysql>drop table table_name;

如果为了保证即使没有表存在,也不至于语句出错,可以使用下面的命令:

mysql>drop table if exists table_name;

参考链接:



本类排行

今日推荐

热门手游