mysql增删查改_Mysql基本之增删查改

一.数据类型:

(1)字符:变长字符varchar(#) ,varbinary(#) char(10)     varchar(10) 定长字符 char(#),BINARY(#)   binary是区分大小写

(2)内建类型enum,set(集合)       mysql独有的数据类型

对象  :   TEXT,  TINYTEXT,  MEDIUMTEXT,  LOGTEXT,     (文本大对象类型)

BLOB,TINYBLOB,MEDIUMBLOB,LONGBLOB(二进制大对象类型)

(3)数值:  插入或更新数据一定不能用引号

精确数值: 1:整形INT  (包含正数和负数)、、也叫浮点型

TINYINT,SMALLINT,INT,MEDIUMINT,BIGINT

2^8      2^16

十进制DECIMAL   (mysql独有的数据类型)decimal(8,2)   888888.88   88888.88  999999.99

近似数值: 1:单精度:FLOAT

2:双精度:DOUBLE

(4)字符类型修饰符:

NOT NULL  非空约束

NULL

DEFAULT ‘’指定默认值(此两试用任何)

CHARACTER SET ‘’ 使用的字符集,或者使用CHARSET‘’

COLLATION:使用的排序规则(这两种定义表上面)

查看所有字符集

mysql > SHOW CHARACTER SET;   show charset;

查看默认排序规则

mysql > SHOW COLLATION;

(5)整形数据修饰符

NOT NULL 非空约束

NULL

DEFAULT  NUMBER

PRIMARY KEY | UNIQUE KEY  (不一定非要定义在数值型上)

UNSIGNED(无符号修饰,仅正数)(mysql中数值不能加引号,字符型要加引号,支持三种引号,’’,””,``.)

AUTO_INCREMENT(自动增长)

(6)内建类型(枚举和集合)修饰符

NULL

NOT NULL

DEFAULT

(7)日期时间型:(也需要加上引号)

日期:DATE    年-月-日      date(‘1988-08-08’)

时间:TIME    时-分-秒      time(’10-34-00’)

日期和时间:DATETIME

时间戳:TIMESTAMP

年份:YEAR(2),YEAR(4)    88   1988

二.sql的正式操作:

(1)创建表

CREATE TABLE [IF NOT EXISTS] ‘tbl_name’(col1 type1,col2 type2,.......);

col type1

PRIMARY KEY(COL1,....)

INDEX(col1,.....)

UNIQUE KEY(col1,....)

表选项:

ENGINE [=] engine_name

ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}

SHOW ENGINES(单独命令,查看存储引擎类型)

f2adaf80aa7aae2f61e9069fb79cc6c3.png

mysql增删查改_Mysql基本之增删查改_第1张图片

(2) 查看表的结构(字段结构):DESC tb_name

mysql增删查改_Mysql基本之增删查改_第2张图片

(3)查看表的创建命令

SHOW CREATE TABLE tbl_name;

f70ffc3039161499bb6b9ef991e83a32.png

(4)查看表的状态属性信息:

SHOW TABLE STATUS LIKE ‘tbl_name’\G;注意:like后面的表名必须接引号

mysql增删查改_Mysql基本之增删查改_第3张图片

(5)删除表(不可逆,谨慎操作)

DROP TABLE [IF EXISTS] ‘tbl_name’;

(6)修改表 (谨慎)

修改表名:alter table tbl_name rename table_new_name

mysql增删查改_Mysql基本之增删查改_第4张图片

修改表的内容(表名  表的字段(添加、删除、修改))

修改字段:包括添加ADD

添加字段:add

ALTER TABLE tbl_name ADD col1 data_type [FIRST|AFTER col_name]

mysql增删查改_Mysql基本之增删查改_第5张图片

删除字段:drop(不能删除主键的字段)

ALTER TABLE tbl_name DORP col_name;

776e72d567b20da97780cd4c99eeb8c3.png

修改字段

alter(删除字段默认值)change(改字段名称),modify(改字段的属性定义)

修改字段名  ALTER TABLE tbl_name change col_name col_name 字段定义

99e3c428a30a9721e6a0c518ea46f699.png

470c12dd3953254352ac33756d65cbeb.png

fa579516ddf83c2df5c962df09ee75cf.png

索引: 一种特殊数据结构,定义在查找时作为查找条件的字段。

优点:加速查询操作,如果没有索引,查询表时需要进行全表扫描。

缺点:会一定程度影响性能

定义索引时,须要定义在查找条件的字段上。索引只有添加和删除,没有修改。

创建表的同时可以直接创建索引,如果没有创建可以后续进行添加索引

例如创建表的时候同时定义索引

添加索引:add

ALTER TABLE tbl_name ADD indexTYPE(col_name);

a213c8be528eb18414afbc8b9bee9aea.png

e72d3e27110629121842900e267522f7.png

删除索引:ALTER TABLE tbl_name DROP index index_name;

mysql增删查改_Mysql基本之增删查改_第6张图片

查看表中的索引:

SHOW INDEXES FROM [db_name.] tbl_name;

77ccb1ce0da3239f09e60493a0239f6d.png

三.DML语句(数据操作语言):

INSERT ,DELETE ,SELECT, UPDATE

INSERT语句(插入数据语句)

可以单行插入或多行插入。(如多行尽量一次执行插入)

INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} (val1,...),(...),....

mysql增删查改_Mysql基本之增删查改_第7张图片

a584c30fd76501f59b20183d0808ab24.png

四.SELECT语句(查询语句)  结合投影、选择、连接

SELECT col1,col2,... FROM tbl_name [where clause] [ORDER BY ‘col_name’ [DESC]] [LIMIT [m,]n];

字段表示法:

*:所有字段

b357990823eafccd70ffeefedd4d6e64.png

as:字段别名,col1 AS alias1

c4bf56c84356e4d8a545563fbc95b02c.png

mysql增删查改_Mysql基本之增删查改_第8张图片

ORDER BY:排序查找(默认升序) 降序接DESC

b0ff58a257c48bd62cc70a0da7e77f41.png

b0ff58a257c48bd62cc70a0da7e77f41.png

LIMIT:字符限制查找(只显示其中部分内容),可以偏移限制查找。)

mysql增删查改_Mysql基本之增删查改_第9张图片

mysql增删查改_Mysql基本之增删查改_第10张图片

clause条件表示:

字段后接比较式(除等于,其他仅局限于数值型)

>  =  <   >=   <=   !=

mysql增删查改_Mysql基本之增删查改_第11张图片

条件逻辑操作

and     or          not            between ... and ...(相当于>=和<=之间)

mysql增删查改_Mysql基本之增删查改_第12张图片

1d7cac47bd28cde1276f129f42c8443d.png

mysql增删查改_Mysql基本之增删查改_第13张图片

f0a5fb2d6f500e65d93a3ccda1b237fe.png

空值比较或匹配

IS NULL      (子句内元素为空)

IS NOT NULL  (子句为非空)

mysql增删查改_Mysql基本之增删查改_第14张图片

like:  (模糊匹配)

%:任意长度任意字符

_:任意单个字符

mysql增删查改_Mysql基本之增删查改_第15张图片

mysql增删查改_Mysql基本之增删查改_第16张图片

五.DELETE语句(删除表中的数据)

一定要注意删除需要加条件限制(不加条件限制非常危险)

DELETE FROM tb_name [where clause] [ORDER by ‘col_name’ [DESC]] [LIMIT [m,]n]

0eba97c8ee5adffa7c0e7cef6bd27738.png

9f18ec39c31df3e23d3c1ce98a874c8d.png

六.UPDATE语句(修改表中的数据)

UPDATE tbl_name SET col1=new_cal1,col2=new_val2, [where clause] [ORDER by ‘col_name’[DESC]] [LIMIT [m,]n]

d8624066ed1c0a2a3bfbc28ac4629a4a.png

8149b57618d119deed81ab8e9e614644.png

你可能感兴趣的:(mysql增删查改)