数据库的操作

a) 创建数据库:create database 库名[库选项];

b) 查看数据库:show databases;  show create database 库名;

c) 删除数据库:drop database [if exists] 库名

d) 修改数据库:只能修改库选项;alter database 库名 新的库选项

数据表操作

e) 选择数据库:显式的选择,在表名的前面加上库名;隐式的选择,use 库名;

f) 创建数据表:create table 表名(字段列表)[表选项];

g) 查看数据表:show tables;  show create table 表名; describe|desc 表名;

h) 修改数据表:

  1. 修改表名:alter table 旧表名 rename to 新表名; rename table 旧表名 to 新表名
  2. 修改列定义:
    1. 增加一列:alter table 表名 add 新字段名 字段类型;
    2. 删除一列:alter table 表名 drop 字段名;
    3. 修改字段类型:alter table 表名 modify 字段名 新的字段类型
    4. 修改字段排序:alter table 表名 modify 字段名1 新的字段类型

first|after 字段名2

  1. 重命名字段:alter table 表名 change 旧字段名 新字段名 新字段类型
  2. 修改表选项:alter table 表名 新的表选项(default charset gbk engine Myisam)

数据操作

i) 插入数据:insert into 表名(字段列表) values(值列表)

j) 查看数据:select *|字段列表 from 表名 [where查询条件]

k) 删除数据:delete from 表名[where删除条件]   |  truncate table teacher; 连主键一起删

l) 修改数据:update 表名 set 字段1=新值1,字段2=新值2……[where修改条件]

列属性

a) null|not null,缺省值是null,也就是允许为空,如果是not null而又没有给该字段赋值的话,系统会首先查询该字段有没有默认值

b) default:给一个字段一个默认值,如果没有给该字段填充数据,就用该默认值来代替,通常就是配合not null一起使用

c) primary key:主键,唯一可区别其他记录的字段,一个表中只能有一个主键,也可以很多个字段组合成一个组合主键,而且不允许为空!

d) unique key:唯一键,与主键的区别是唯一键可以有很多个,而且允许为空

e) auto_increment:自动增长,使用这个属性有两个条件,第一该字段必须为整型,第二该字段必须存在索引,通常就是配合主键一起使用,也可以通过修改表选项设置自动增长的默认初始值

f) comment:列注释

m)

数值类型

1. 整数

类型

大小

有符号(最小值/最大值)

无符号(最小值/最大值)

tinyint(m)

1个字节

-128/127

0/255

smallint(m)

2个字节

-32768/32767

0/65535

mediumint(m)

3个字节

-8388608/8388607

0/16777215

int(m)

4个字节

-2147483648/2147483647

0/4294967295

bigint(m)

8个字节

-9223372036854775808/9223372036854775807

0/18446744073709551615

2. 小数

类型

名称

大小

备注

float(M, D)

单精度数

4个字节

默认精度位数为6到7位左右(取决于操作系统)

double(M, D)

双精度数

8个字节

默认精度位数为16到17位左右(取决于操作系统)

decimal(M, D)

定点数  也叫货币型

变长,大致是每9个数4个字节

M最大为65默认为10;D最大为30默认为0;

日期时间型

类型

显示格式

取值

大小

DATETIME

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00到9999-12-31 23:59:59

8个字节

TIMESTAMP

YYYY-MM-DD HH:MM:SS

1970-01-01 00:00:00到2038-01-19 03:14:07 (UTC)

4个字节

DATE

YYYY-MM-DD

1000-01-01到9999-12-31

3个字节

TIME

HH:MM:SS

-838:59:59到838:59:59

3个字节

YEAR

YYYY

1901到2155

1个字节

字符串类型

char和varchar

都需要指定字符的长度,char中的长度是字符的长度,而varchar的长度是字节的长度

char中指定的长度就是实际占用的长度,而varchar指定的长度只是一个范围,所以varchar还要拿1-2个字节存储该字符串到底有多少个字节,并且varchar中能够实际存储的字符跟编码有关(utf8编码20000多,gbk编码30000多)

varchar对存储空间的占用更灵活,但是char的效率更高

如果字符串的长度是固定已知的,就用char,如果字符串的长度是可变的,就用varchar

text:文本类型,使用起来类似于varchar,只不过这里不需要指定长度,其中longtext认为文本没有限制

enum:枚举类型,类似于单选!实际存储的是原选项的位置,位置用1,2,3,4来代替,理论上最多可以表示65535个选项

set:集合类型,类似于多选!实际存储的是也原选择的位置,位置用1,2,4,8来代替,然后把所有选项的位置相加,理论上最多可以表示64个多选项

binary、varbinary、blob:二进制文本类型,就是字节流的char、varchar和text,在实际的项目中,很少使用

类型

最大长度

备注

char 定长

定长字符类型:255个字符

Char(M),M表示字符数

varchar 变长

变长字符类型:65535字节,但需要1-2个保存信息,同时由于记录的限制,实际最大值为65532

编码不同字符数不同:

Gbk<=32767

Utf8<=21845

tinyText

text

mediumText

longText

(2^8)  à 256字节

(2^16)-1  à65535字节,约64KB

(2^24)-1  à16777215字节,约16M

(2^32)-1字节  à4294967295字节,约4G

定义时无需指定长度,将会自动计算

enum

枚举:数字65535

内部存储是整型;字段只能是某一个值

set

集合:最多占8个字节,即64个状态值

Mysql精华版(命令大全)的更多相关文章

  1. mysql常用的命令大全

    常用的MySQL命令大全一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令 ...

  2. MySQL语句和命令大全

    前言 这里记录的是这两年学习工作过程中遇到的常用的 MySQL 语句和命令,部分是网上收集来的,出处已经不记得了,这里先谢过这些大佬.本文包括常见 SQL 语句,还有部分运维语句和命令,没有做详细的说 ...

  3. 常用mysql命令大全

    常用的MySQL命令大全 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再 ...

  4. MySQL 常用命令大全

    Mysql常用命令行大全 第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键 ...

  5. ref:mysql命令大全

    Mysql常用命令行大全 ref:https://www.cnblogs.com/bluealine/p/7832219.html 1)查看表结构:desc table_name; 2)查看创建表的s ...

  6. Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

    PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...

  7. Mysql命令大全

    格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...

  8. Mysql 命令大全

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...

  9. MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

随机推荐

  1. Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

    应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...

  2. Cocos2D iOS之旅:如何写一个敲地鼠游戏(十):创建游戏逻辑

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  3. Android程序崩溃异常收集框架

    最近在写Android程序崩溃异常处理,完成之后,稍加封装与大家分享. 我的思路是这样的,在程序崩溃之后,将异常信息保存到一个日志文件中,然后对该文件进行处理,比如发送到邮箱,或发送到服务器. 所以, ...

  4. Rational Rose正逆向工程(类图转Java代码,Java代码转类图)

     一,正向工程     1.设置默认语言为Java,Tools->Options->Notation->default:选择Java.         2.设置环境变量Class ...

  5. 关于js校验,检验常见的比如:电话,数字,邮箱,手机号等等

     /**  验证数字:^[0-9]*$  验证n位的数字:^\d{n}$  验证至少n位数字:^\d{n,}$  验证m-n位的数字:^\d{m,n}$  验证零和非零开头的数字:^(0|[1-9 ...

  6. android scrollview嵌套listview计算高度的问题

    ScrollView中只能放一个控件,一般都放LinearLayout,orientation属性值为vertical.在LinearLayout中放需要呈现的内容.ListView也在其中,List ...

  7. UNIX环境高级编程——信号(API)

    一.信号在内核中的表示     实际执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未决(Pending).进程可以选择阻塞(Block)某个信号.被阻塞的信号 ...

  8. 我眼中的Linux设备树(三 属性)

    三 属性(property)device_type = "memory"就是一个属性,等号前边是属性,后边是值.节点是一个逻辑上相对独立的实体,属性是用来描述节点特性的,根据需要一 ...

  9. 《java入门第一季》之好玩的正则表达式

    先不通过正则表达式来判断输入的qq号码是否正确. import java.util.Scanner; /* * 校验qq号码. * 1:要求必须是5-15位数字 * 2:0不能开头 * * 分析: * ...

  10. 阿里云服务器实战(二): Linux MySql5.6数据库乱码问题

    在阿里云上了买了一个云服务器, 部署了一个程序,发现插入数据库后乱码了,都成了'????'.  一开始怀疑是Tomcat7的原因 , 见文章 : http://blog.csdn.net/johnny ...