之前学习过一些简单的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
查询中有很多相关知识,特别需要注意,
有很多不健全的地方继续学习,一边学习一边记录,如果有大牛路过,请多多指导,传授一下知识。谢谢