mysql基础

数据类型

分类 类型名称 说明
整数类型 tinyInt 很小的整数
smallint 小的整数
mediumint 中等大小的整数
int(integer) 普通大小的整数
小数类型 float 单精度浮点数
double 双精度浮点数
decimal(m,d) 压缩严格的定点数
日期类型 year YYYY 1901~2155
time HH:MM:SS -838:59:59~838:59:59
date YYYY-MM-DD 1000-01-01~9999-12-3
datetime YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
timestamp YYYY-MM-DD HH:MM:SS 19700101 00:00:01 UTC~2038-01-19 03:14:07UTC
文本、二进制类型 CHAR(M) M为0~255之间的整数
VARCHAR(M) M为0~65535之间的整数
TINYBLOB 允许长度0~255字节
BLOB 允许长度0~65535字节
MEDIUMBLOB 允许长度0~167772150字节
LONGBLOB 允许长度0~4294967295字节
TINYTEXT 允许长度0~255字节
TEXT 允许长度0~65535字节
MEDIUMTEXT 允许长度0~167772150字节
LONGTEXT 允许长度0~4294967295字节
VARBINARY(M) 允许长度0~M个字节的变长字节字符串
BINARY(M) 允许长度0~M个字节的定长字节字符串

常用表操作

  • SHOW TABLES
    显示表名

  • desc 表名
    查看表结构

  • drop table 表名
    删除表

  • alter table 表名 add 列名 类型(长度) 约束;
    作用:修改表添加列.

#1,为分类表添加一个新的字段为 分类描述 varchar(20)
`ALTER TABLE sort ADD sdesc VARCHAR(20);`
  • alter table 表名 modify 列名 类型(长度) 约束;
    作用:修改表修改列的类型长度及约束.
#2, 为分类表的分类名称字段进行修改,类型varchar(50) 添加约束 not null
ALTER TABLE sort MODIFY sname VARCHAR(50) NOT NULL;
  • alter table 表名 change 旧列名 新列名 类型(长度) 约束;
    作用:修改表修改列名.
    例如:
#3, 为分类表的分类名称字段进行更换 更换为 snamesname varchar(30)
ALTER TABLE sort CHANGE sname snamename VARCHAR(30);
  • alter table 表名 drop 列名;
    作用:修改表删除列.
    例如:
#4, 删除分类表中snamename这列
ALTER TABLE sort DROP snamename;
  • rename table 表名 to 新表名;
    作用:修改表名
    例如:
#5, 为分类表sort 改名成 category
RENAME TABLE sort TO category;
  • alter table 表名 character set 字符集;
    作用:修改表的字符集
    例如:
#6, 为分类表 category 的编码表进行修改,修改成 gbk
ALTER TABLE category CHARACTER SET gbk;

命令行乱码

因为windows使用的GBK。需要修改编码;

C:\Users\asus>mysql -uroot -p123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.5.49 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> use test;
Database changed
mysql> select * from t_user
    -> ;
+----+------+
| id | name |
+----+------+
|  1 | 2鍟? |
+----+------+
1 row in set (0.00 sec)

set names 'gbk';

mysql> set names 'gbk';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from t_user;
+----+------+
| id | name |
+----+------+
|  1 | 2啊    |
+----+------+
1 row in set (0.00 sec)

mysql>
posted @ 2018-08-07 17:25  【唐】三三  阅读(194)  评论(0编辑  收藏  举报