菜单

关于SqlServer数据表操作,数据库部分_1

2020年1月19日 - 数据网络

–修改表字段长度
alter table Tbl_Count_User_Ref ALTER COLUMN CountName
nvarchar(500);
新增字段
alter table 表名 add 字段名 数据类型 default 默认值
说明:数据类型如,varchar(50)
alter table BANK_SOKECT_INFO ADD DEPTNO varchar(8);

SQL规范

mysql -uroot -proot

如何删除表中字段
ALTER table 表名 DROP column 字段名

  以 “ ; ”
结尾;关键字之间要有空格(可以由多个空格);SQL语句中可以一个或多个换行;关键字不区分大小写。

查询所有 show databases;

创建 create database 库名;

查询详情 show create database 库名;

指定字符集 create database 库名 character set utf8;

删除 drop database 库名;

使用 use 库名;

导入数据库 source 路径;

查询所有 show tables;

创建 create table t1(name varchar,age int);

查询详情 show create table t1;

指定引擎和字符集 create table t1(name varchar,age int)
engine=myisam/innodb charset=utf8;

—————-innodb:支持数据库的复杂操作,包括外键、事务等

—————-myisam:只支持数据基础的增删改查操作

查看表字段 desc 表名;

删除表 drop table 表名;

修改表名 rename table 原名 to 新名;

修改表的引擎和字符集 alter table 表名 engine=myisam/innodb
charset=utf8;

添加表字段

–最后面: alter table 表名 add 字段名 字段类型;

–最前面: alter table 表名 add 字段名 字段类型 first;

–XX后面: alter table 表名 add 字段名 字段类型 after xxx;

删除表字段 alter table 表名 drop 字段名;

修改表字段的名字和类型 alter table 表名 change 原字段名 新字段名
新字段类型;

修改表字段的类型和位置 alter table 表名 modify 字段名 字段类型 位置;

删除并新建 truncate table 表名;

保存数据 insert into 表名 values(字段值,字段值,…);

指定字段插入 insert into 表名 values ;

查询数据 select * from 表名 where 条件;

修改数据 update 表名 set 字段名=字段值,字段名=字段值,… where 条件;

删除数据 delete from 表名 where 条件;

查询到的字段更名 select 原字段名 新字段名 from 表名;

查询去重 select distinct 字段名 from 表名;

in 查询某个字段的值为多个的时候 select * from where 字段名
in(值1,值2,…);

查询某个字段的值不为**的时候 select * from where 字段名 not
in(值1,值2,…);

between查询在**之间 select * from where 字段名 between 值1 and 值2;

查询不在**之间的 select * from where 字段名 not between 值1 and
值2;

模糊查询: like

_:代表单个未知字符

%:代表0个或者多个未知字符

升序 select * from 表名 order by 字段 asc;

降序 select * from 表名 order by 字段 desc;

分组 select 字段 from 表名 group by 字段;

分页查询 select * from 表名 limit *每页数量,每页数量 —–limit 7,7

取余 mod —–7%2

获取当前日期+时间 select now();

获取当前日期 select curdate();

获取当前时间 select curtime();

从年月日时分秒中提取日期 select date;

从年月日时分秒中提取时间 select time;

从年与日时分秒中提取时间分量:

年 select extract(year from now; ——select extract(year from 字段)
from 表名;

月 select extract(month from now;

日 select extract(day from now;

时 select extract(hour from now;

分 select extract(minute from now;

秒 select extract(second from now;

日期格式化:

%Y 四位年 YYYY

%y 两位年 yy

%m 两位月

%c 一位月

%d 日

%H 24小时

%h 12小时

%i 分

%s 秒

——-select date_format,’%Y年%m月%d日 %H时%i分%s秒’);

非标准格式转换为标准格式

str_to_date(‘非标准格式的时间’,格式); ——–select
str_to_date(‘2018年11月16日 15时49分08秒’,’%Y年%m月%d日
%H时%i分%s秒’);

ifnull —-update emp set comm = ifnull;

创建表的时候定义主键和自增 注释 create table 表名(字段名 字段类型
primary key auto_increment comment ‘内容’,….);

查看自动提交状态 show variables like ‘%autocommit%’;

设置自动提交的状态 set autocommit=0/1;

开启事务 begin;

提交事务 commit;

保存回滚点 savepoint 名;

回滚到回滚点 rollback to 名;

平均值 avg; ——select avg from emp;

最大值 max; ——select max from emp;

最小值 min; ——select min from emp;

求和 sum; ——select sum from emp;

统计数量 count; ——select count from emp;

拼接 concat(‘xx’,’xx’);

获取长度 select char_length from emp;

获取字符串在另外一个字符串中出现的位置 instr(str,substr);

插入字符串 insert(str,start,length,newstr);

转大写 upper;

转小写 lower;

去两端空白 trim;

截取字符串

从左截取 left;

从右截取 right;

自定义截取 substring(str,start,len);

重复 repeat;

替换 replace(str,要替换的,替换后的);

反转 reverse;

向下取整 select floor;

四舍五入 select round; ——select round(23.4782,2) 23.48

非四舍五入 select truncate —–select truncate 23.87

随机数 rand() 0-1

获取3、4、5 随机数 select floor+3;

内连接 select from 字段 from 表1 join 表2 on 等值条件

外连接 select from 字段 from 表1 left join 表2 on 等值条件

创建视图 create view 视图名 as 子查询 with check option;

创建或替换视图 create or replace view 视图名 as 子查询;

删除视图 drop view 视图名;

格式: constraint 约束名称 foreign key references 依赖的表名

格式: create index 索引名 on 表名)

删除索引 drop index 索引名 on 表名;

substring(fullName,9,100),substring(catalogCode,9,100),substring(parentCode,9,100)
mssql中截取字符串可以用left,right,substring函数。
left,是从字符左边开始截取,如:截取abcdefg字符串中的前三个字符:
1 select left(‘abcdefg’,3);
其中3为截取的长度。
rigth是从字符右边开始截取,如截取abcdefg字符串中的后三个字符:
1 select right(‘abcdefg’,3);
其中3为截取的长度。
substring,是从任意位置截取,如截取abcdefg字符串中的第二到第四个字符:
1 select substring(‘abcdefg’,2,3);
其中2为开始截取的位数,3为截取的长度。

数据库相关SQL

注意:

1、where后面不能写聚合函数,使用having

2、如果创建视图的子查询中使用了别名,则对视图操作时只能使用别名

3、not null 不能为空

4、unique 不能重复

5、primary key 主键,不能为空,不能重复

6、auto_increment 自增

7、显示一行 select depto,group_concat from emp group by deptno;

  查询所有数库库:  

    show databases;

  创建数据库:   

    create database 数据库名称;

  查看单个数据库详情

    show create database 数据库名称;

  删除数据库

    drop database 数据库名称;

  创建数据库时制定字符集

    create database 数据库名称 character set gbk/utf8; 

  使用数据库

    use 数据库名称;

表相关SQL

  什么是表:在关系型数据中保存数据库的单元,类似于Excel中表,创建表的时候需要指定表的字段信息。

  创建表

    create table 表名 (字段名 字段类型,字段名 字段类型…);

  查看所有表

    show tables;

  查看单个表信息

    show create table  表名;

  删除表

    drop table 表名;

  创建表指定字符集和引擎

    charset engine create table 表名 (字段名 字段类型,字段名
字段类型) engine=myisam/InnoDB
charset=gbk/utf8;(InnoDB:支持数据库的感激操作,如事务、外键等;MyIsam:只支持数据基础的增删改查)

  查看表字段信息

    desc 表名;

修改表相关SQL

  修改表名

    rename table 原名 to 新名;

  修改表的引擎和字符集

    alter table 表名 engine=innodb/myisam charset=utf8/gbk;

  添加表字段(在表的最后位置添加)

    alter table 表名 add chinese int;

  在表的最前面添加

    alter table 表名 add chinese int first;

  在某个字段的后面添加

    alter table 表名 add 新字段名 新字段表名 after 老字段名;

  删除表字段

    alter table 表名 drop 字段名;

  修改表字段的名称和类型

    alter table 表名 change 老字段表明 新字段表名 字段类型;

  修改字段类型和字段的位置

    alter table 表名 modity 字段名 新类型 first/after XXX;

表的增删改查

  全表插入格式

    insert into 表名 values (数据1,数据2,数据3);

  指定字段插入

    insert into 表名 (字段名1,字段名2…) values (数据1,数据2);

  批量插入数据格式

    insert  into 表名
values (数据1,数据2,数据3),(数据1,数据2,数据3);

  指定字段批量格式

    insert into 表名 (字段名1,字段名2) values
((数据1,数据2),(数据1,数据2);

  所有字段查询

    select * from 表名;

  指定字段查询

    select 字段名,字段名 from 表名;

  条件查询格式

    select * from 表名 where 条件;

  修改数据

    update 表名 set 字段名=新的数据 where id=位置;

  删除数据

    delete from 表名 (表内所有的数据) where 条件;

去重(distinct)

  select distinct XX from 表名;

编码问题

  在连接数据库后执行set names gbk;把数据库的解码字符集修改成gbk。

主键约束

  主键:表示表中数据唯一性的字段称为主键。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图