【SQL进阶】

SQL进阶

  • SQL表的操作
    • 数据插入
    • 表的复制
    • 修改表
  • SQL函数
    • 文本函数

SQL表的操作

数据插入

insert into 表名(列名) VALUES (对应列数值)【,(对应列数值)】

注意:即使是Null也不能空着哦

关键字NULL可以用DEFAULT替代。
掌握replace into···values的用法
replace into 跟 insert into功能类似,不同点在于:replace into 首先尝试插入数据到表中,

如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据;
否则,直接插入新数据。
要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

表的复制

– 注意新表会自动生成id序列,可以用null代替 或者insert into后面的表名括号中声名从哪里开始插入
– 用法:insert into 新表 (a ,b,)select (A,B)from 旧表 where

修改表

1.添加列
alter table 表名 add column 列名 类型 【first|after 字段名】;
2.修改列的类型或约束
alter table 表名 modify column 列名 新类型 【新约束】;
3.修改列名
alter table 表名 change column 旧列名 新列名 类型;
4 .删除列
alter table 表名 drop column 列名;
5.修改表名
alter table 表名 rename 【to】 新表名;
6.将某一列放到第一列
alter table 表名 modify column 列名 类型 first;

SQL函数

文本函数

1、LOCATE(substr , str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;

2、POSITION(substr IN str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,与LOCATE函数作用相同;

3、LEFT(str, length):从左边开始截取str,length是截取的长度;

4、RIGHT(str, length):从右边开始截取str,length是截取的长度;

5、SUBSTRING_INDEX(str ,substr ,n):返回从字符串 str 的第 n 个出现的分隔符 substr 之后的子串。;

6、SUBSTRING(str ,n ,m):返回字符串str从第n个字符截取到第m个字符;

7、REPLACE(str, n, m):将字符串str中的n字符替换成m字符;

8、LENGTH(str):计算字符串str的长度。

你可能感兴趣的:(MySQL初级,sql)