Mysql基本之增删查改

一.数据类型:

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

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

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

      BLOBTINYBLOBMEDIUMBLOBLONGBLOB    (二进制大对象类型)

 

(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(单独命令,查看存储引擎类型)

 

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

 

  (3)查看表的创建命令

     SHOW CREATE TABLE tbl_name;

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

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

 

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

          DROP TABLE [IF EXISTS] tbl_name;

(6)修改表 (谨慎)

 修改表名:alter table tbl_name rename table_new_name

 

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

 修改字段:包括添加ADD

 添加字段:add

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

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

ALTER TABLE tbl_name DORP col_name;

 

 修改字段

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

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

 

 

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

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

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

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

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

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

 添加索引add

ALTER TABLE tbl_name ADD indexTYPE(col_name);

 

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

 

查看表中的索引:

SHOW INDEXES FROM [db_name.] tbl_name;

 

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

 INSERT ,DELETE ,SELECT, UPDATE

 INSERT语句(插入数据语句)

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

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

 

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

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

 字段表示法:

*:所有字段

 

as:字段别名,col1 AS alias1

 

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

 

 

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

 

 

clause条件表示:

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

>  =  <   >=   <=   !=

 

 

条件逻辑操作

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

 

 

 

空值比较或匹配

IS NULL      (子句内元素为空)

IS NOT NULL  (子句为非空)

 

like:  (模糊匹配)

%:任意长度任意字符

_:任意单个字符

 

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

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

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

 

 

 

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

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

 

 

 

posted @ 2020-03-24 14:29  乘风破浪的小落夜  阅读(253)  评论(0)    收藏  举报