sql基础操作

sql基础操作
数据库类型,和创建数据库表,对于一些关系字符进行了解,约束条件,还有查询(where,group by ,having,order by),更改,删除和较为复杂的查询操作列表
1.文本转换
txt,asci(excle版本)想在mysql操作,得变成utf8:create database 数据库名称 character set utf8;
2.类型–常用
int整形,整数型,如果是有符号,则在语句后面加unsigned 变成无符号
float(m,d)(小)浮点型 ,double(m,d)(大) 浮点型
M为总体位数,d小数点后位数
字符串:Varchar(字符长度) 可变长度文本型,不需要换算字节 ,可节 省空间
Char 固定长度文本,空下来的就用空来填充
日期型:Datatime:YYYY-MM-DD HH:MM:SS
注意:一个汉字占两个字符的长度,但是sql仍然作为一个字符取
3.执行语句
数据库:
创建:create database 库名;
查询:show create database ;
**使用数据库:use 库名;这个操作数据库经常用
删除:drop database 库名;
drop table 表名;
drop class 类名;
表:
创建:create table 表名;
查看所有表:show tables;
创建表时候,字段用逗号,最后括号后用分号

在这里插入图片描述

  **约束条件:(可多个一起用)**
          	primary key:主键,非空不重复  单个主键:sno int primary key   多个主键:primary    key(sno,sname)**
          	not null:非空
          	unique:唯一约束,确保表的一列或多列不出现重复值
          	auto_increment:一个表只能有一个自增字段,自增字段必须为主键的一部分。默认情况下从1开始自增,不出现空值,唯一
          	default:默认值’:把空值null’改成默认值   跟着替代那个的类型
          	![在这里插入图片描述](https://img-blog.csdnimg.cn/20181104205132848.)

导入数据:
方法一:insert into student (“A001”,“小明”,“23”);
方法二:外部导入:
load data local infile ‘C:/Users/CDA/Desktop/data/t1.csv’------这里的路径要“/”
into table test1 ---------------------把文件加入test1表
fields terminated by ‘\t’ --------------------分割符是’\t’,操作前看你文件是什么分隔符
ignore 1 line ---------------不需要第一列,所以忽略

**查询:(select...from..)**
	   	导入内容:select * from 表名;
	    行数: select count(*) from 表名;
		检查表结构:desc 表名;
**更改,跟新:(alter table)**
		改表名: rename
		Alter table 表名1 rename 表名2;
		改变字段后的属性 modify     把老的删掉
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20181104210032662.)
	   改变字段和字段后面属性 change    把老的删掉
	.	![在这里插入图片描述](https://img-blog.csdnimg.cn/20181104210110769.)
	   增加新字段 add
	.	![在这里插入图片描述](https://img-blog.csdnimg.cn/20181104210144890.)
	   改变顺序: first,after   之前的数据已经被删除,所以也要连着属性一起写
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20181104210204558.)
	   删除字段
			alter table empdep drop maname
			删除主键:alter table empdep drop primary key;

Select语句深入
select * from 表
where条件
group by 字段 having 条件、 groupby 分组 where分组前条件,having分组后条件
desc 字段 Desc降序,默认升序 若有两个字段,则先执行第一个字段,再执行第二 个字段

a.聚合类函数:avg,sum,max,min ,count
1、having放在group by 的后面
2、group by 后面只能放非聚合函数的列
3、where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据, 条件中不能包含聚组函数,使用where条件显示特定的行。
4、having,是进行分组后,的筛选条件
b.连接方式(表*表):
内连接:Select * from 表1 inner join 表2 on 表A.key=表B.key ------ 内连接是链接相同key数据,不同不要
左连接:select * from 表1 left join 表2 on 表A.key=表B.key ------ 左连接是右边有左边有一样的key的数据都写上,若左有,右没有,则还是写,只是值为null
右连接:select * from表1 right join 表2 on 表A.key=表B.key
------跟左连接一样的反过来
在这里插入图片描述

c.联合语句(多个查询语句)
Union结果去掉重复项:Select 表1.* from t1 union select t2.* from t2
Union all:结果没有去除重复项:Select 表1.* from t1 union all select t2.* from t2
相当于纵向合并:即使两表名字不同,计算机都是叠加一起,跟excle PQ不同(pq要有相同名称)
d.查询操作符列表:
在这里插入图片描述
注意:
all 和any语句,是跟比较符一起用
在这里插入图片描述
有时候,in和all相同,得出结果相同。
在这里插入图片描述

e.删除重复记录
Select distinct 字段 from表
以主键分组=没分组,因为主键只有一个

下面就是一些琐碎的知识:
1.不要直接打开sql文件,因为没有跟sql instance链接,而是 打开数据库后,把sql拖进里面
2.注释“-- ”横杠横杠空格 或者“#”
4.错误代码:1046 没有使用数据库
5.sys数据库的自己系统,不能改
Schemas下的是对象—子对象(表,视图(数据映射),存储过程(编写批处理),函数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL操作全集(非常适合初学者) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count * as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运 ......

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值