My sql 操作(不常用)和分析汇总

时间:2022-05-24 20:11:39

1:在user表中第一个位置增加num字段,并设置num字段为主键。

      alter table user add num int(11) PAIMARY KEY FIRST

2: 在user表的phone字段后增加address字段

     alter table add address VARCHAR(20) NOT NULL DEFAULT "" AFTER phone

3: 删除user表中id字段

    alter table user DROP id

4: 修改字段的排列位置

   alter table 表名 MODIFY 字段名称1 数据类型 FIRST/AFTER 字段名称2

5:更改表的存储引擎

   alter table 表名 ENGINE = 存储引擎名

6:将user表中的course字段数据类型改为varchar(20)

  alter table user MODIFY course VARCHAR(20);

7: 将user表里面grade字段改名为score

    alter table user CHANGE grade score VARCHAR(4);

8: 将user表改名为userInfo表

   alter table user RENAME userInfo

9: 索引的设计原则

   选择唯一性索引、为经常需要排序分组和联合操作的字段建立索引、为常作为查询条件的字段建立索引、限制索引的数目、尽量使用数据量少的索引、尽量使用前缀来索引、删除不再使用或者很少使用的索引。

10 建表的时候加入索引,索引名称不可重复

     1创建普通索引 : create table user (id int ,INDEX(ID));

     2创建唯一性索引 :create table user (id int ,UNIQUE INDEX index_2(ID));

11 在已存在的表上创建索引

   在user表id字段建立名为index_3的索引:create index_3 on user(id);  或者 alter tabel user ADD INDEX index_3(id(11));

   在user表id字段建立名为index_4的唯一性索引:create UNIQUE INDEX index_4 on user(id);

12 删除索引

  DROP INDEX 索引名 ON 表名

13 指定初始位置和限制数目

  limit 初始位置,记录数

14 insert语句将一个表中查询出来的数据插入到另一表中

   insert into 表名1(属性列表1) select 属性列表2 from 表名2 WHERE 条件表达式

15 匹配符 % _

   %表示任意长度的字符串 ,_只能表示单个字符。

16 运算符

    1 DIV  除法运算 返回商,同“/” X DIV Y

    2    %  求余数运算

    3 MOD 求余数运算 同“%”  MOD(X,Y)

    4 <=> 与=是一样的,也是用来判断操作数是否相等,只是 <=>可以用来判断NULL

    5 异或运算 XOR   : X XOR Y 只要其中任意一个操作数为NULL,结果返回NULL,如果X 和Y 都是非0 的数字或者都是0时,结果返回0,如果其中有一个是非0,另外一个是0时,返回1.

    6 按位或 | :将操作数华为二进制数后,每位都进行或运算,1和任意数进行或运算的结果都是1,0与0或运算的结果是0

    7 按位与 &

17 函数

    IF(condition ,x,y)如果condition成立,返回x,否则返回y。

    IFNULL(X,Y),如果x不为空,就显示x的值,否则显示y的值。

    CASE函数: CASE WHEN condition1 then X WHEN condition2 THEN Y ELSE Z

18 删除user表所有数据

   TRUNCATE  table  user

19 修改字段默认值

    alter table user alter column userId set default 1