sql server 学习以及问题解决,持续更新中

之前学习过一些简单的mysql 的知识,了解简单的增删查改,所以以下内容是在这个范围内在进行学习。

在这里学习了一些简单的操作和sql运用

sql server 和 mysql 中有几个区别,join 的应用,on 和where 的区别.

sql复合查询的使用,批量增加。

在python 3.6中使用sql server  使用(pyodbc模块)

 

基础操作:

创建数据库
create database Test
go
切换到指定数据库
use Test
go
创建人员档案表
create table PersonList (
Person_id int identity(1,1) not null,
Pname varchar(50) null,
Phone bigint null,
Email varchar(50) null,
Duty varchar(50) null,
Age int null
)
删除表(选择操作)
drop table PersonList
go

批量导入测试信息()
insert into PersonList(Pname,Phone,Email,Duty,Age)values('张三',18857235177,'gaozd@163.com','测试工程师',23),
('李四',18857235177,'wddds@163.com','测试工程师',24),
('王五',18857235177,'ascsa@163.com','开发工程师',26),
('赵六',18857235177,'pckas@163.com','建模工程师',23),
('钱七',18857235177,'gssaozd@163.com','数据工程师',21),
('张八',18857235177,'sdwae163.com','算法工程师',24),
('高老大',18857235177,'hjghh@163.com','构架师工程师',26),
('李老二',18857235177,'dawdz@163.com','项目经理',25),
('孙老三',18857235177,'ghdr@163.com','售后测试经理',24),
('朱老四',18857235177,'cdweq@163.com','爬虫工程师',23)

go
查看表格所有信息
select * from PersonList
go
修改信心
Update PersonList set age = 18 where Pname = '张三'
go
删除信息
delete from PersonList where Pname = '李四'
go

创建并设置默认编码为100000
alter table PersonList add Area_code int null default 100000
go

手动根据IP修改地址编码。
update PersonList set Area_code = 100000 where Person_id >0 and Person_id < 6
go
update PersonList set Area_code = 400000 where Person_id >=6
go
创建地区表
create table Region (Area_code int identity(1,1) not null,
Area_name varchar(100) null )

go
创建地区表
create table Region(Region_id int identity(1,1),
Area_code int not null,
Area_name varchar(100) null )

go
导入测试信息
insert into Region(Area_code, Area_name)values
(100000,'北京'),
(400000,'重庆'),
(830000,'乌鲁木齐'),
(450000,'郑州')
go

查询出:地区名称='北京' 的所有人员

select PersonList.Pname from PersonList left join Region on PersonList.Area_code = Region.Area_code and Region.Area_name = '北京'
go

 上面犯了一个重要的业务错误,

建表时Phone bigint null, 设置错误

电话的型号使用了bigint类型,但是有的电话如果是0000-000000这种就会加入出错,考虑不周,初次学习出错,

主键设置时需要特别注意,一般情况下不要设置为自增,推荐使用UUID,

  使用方法:使用函数newid()来随机添加一个UUID,

  配置信息为:

  拷贝的源代码

  CREATE TABLE [dbo].[a](
  [id] [uniqueidentifier] NOT NULL,
  [name] [nvarchar](50) NULL,
  [age] [int] NULL,
  [sex] [nvarchar](50) NULL,
  [job] [nvarchar](50) NULL,
  CONSTRAINT [PK_a] PRIMARY KEY CLUSTERED
  (
  [id] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]

  GO

 

查询中有很多相关知识,特别需要注意,

 

 有很多不健全的地方继续学习,一边学习一边记录,如果有大牛路过,请多多指导,传授一下知识。谢谢

 

posted @ 2018-07-17 16:20  小小2菜鸟  阅读(124)  评论(0)    收藏  举报