F2:编辑选中的文件夹名字
DBMS:DataBase Management System
Table
主键是数据行的唯一标识:业务主键、逻辑主键 (没有任何业务意义的字段)
GUID:全球唯一标识
NChar:Unicode,用两个字节表示一个字符
select 列名,... from 表 where 表达式1 and 表达式2
delete from 表 where 表达式1 and 表达式2
update 表名 set 列1=值 ,列2=值
insert into 表名(列1,列2.。。。) values (值1,值2 。。。)
利用MySQL CommandLine创建表格:
1、创建一个数据库: create database +数据库名字;
2、使用:use +数据库名字;
3、查看已创建的数据库:show databases;
4、创建表格:create table new_table( (回车)
id int,
name varchar(100)
);
数据库的登录:
用户名:机器名/./(local)
ip地址:回环地址:127.0.0.1
服务器名称:.\实例名;. 不加实例名的话就是默认实例
win+R:打开cmd,输入services.msc,打开服务窗口
表格的一些应用:
#给数据库添加了一个列
alter table UserInfo add iphone nvarchar(64) null
#添加数据,添加一行,这里只添加指定的一列显示有错误
insert into UserInfo(ID,Name,Address, iphone) values('001','小王','北京','12223')
# 创建了一个新的表格
create table DemoTable
(
Id int ,
Name1 nvarchar(32)
)
#添加一列
alter table UserInfo add DelFlag smallint null
#给列添加默认值约束,约束名字DF_表名_列
#alter table UserInfo add constraint DF_UserInfo_DelFlag default(0) for DelFlag
#不知道为什么这里的default不可以使用
#删除数据库中的一列
#如果有约束,需要先删除约束再删除列
#alter table UserInfo drop constraint DF_UserInfo_DelFlag
#alter table UserInfo add DelFlag1 smallint null
#删除一列
alter table UserInfo drop column DelFlag1
#增加一列
alter table demotable add DelFlag smallint null
#给表格添加一个主键
alter table demotable add constraint DK_demotable_Id primary key(Id)
#给表格添加一个唯一键约束
alter table demotable add constraint UK_demotable_DelFlag unique key(DelFlag)
#在表格UserInfo中添加一个外键,表格的最后面加了一列Name1
alter table UserInfo add Name1 int null
#添加一个外键关系,先添加一个外键链,外键链关联到哪一个列(error)
alter table UserInfo add constraint FK_UserInfo_demotable foreign key(Name1) references demotable(Name1)
数据库的查询 select
#给列起个别名用as
#计算列表中有多少行数字
select count(*) from UserInfo#找表中最短的列进行统计
select count(1) from UserInfo#跟count(*)意义相同
select Name1 as AGE
select * from UserInfo
select getdate()#为什么得不到时间
#这种方式用来查看系统的状态
select @@VERSION #5.7.17-log
insert into UserInfo(ID,Name,Address, iphone) values('002','王','北京','2223')
#数据库的查询
select * from UserInfo where iphone<>1000#不等于
select * from UserInfo where iphone between 10 and 1000#不等于
insert into UserInfo(ID,Name,Address, iphone,DelFlag) values('007','aler','北京','2223','0')
#模糊查询
select * from UserInfo
#where iphone like '2%' #%通配符,代表一个或者多个字符,以2开头的
#where iphone like '%3%' #其中包含3在内的,iphone中包含3的
#where iphone like '_3%' #只能匹配一个字符的,第二个字符为3的
#where iphone like '%''%' #字符中包含单引号的,‘’两个单引号代表一个单引号
#where iphone like '%[0-9]%' #其中包含数字的
#where iphone like '%[2,9]%' #其中包含数字的2或者9的,应该是这种 h 2 ,2单独存在,而不是一个整体2233
#where iphone like '%[[]%' #其中包含[的,等同于下面的
#where iphont like '%\[%' escape '\'
#where DelFlag is null#查询DelFlag为null
where Name is not null #查询Name不是null的
排序使用查询
use demosql #每次使用数据库时需要use一下
update userinfo set ID=001 ,Name='hello',Address='Chinese',iphone='12884',DelFlag='0',Name1='good'
insert into userinfo(ID,Name,Address,iphone,DelFlag) values('010','hello','Chinese','32535','7')
#将Address 中有的元素提取出来
select Address from userinfo
group by Address #按照Address进行分组
select Address,count(*),sum(ID) from userinfo
group by Address #按照Address进行分组,将分组的个数传递出来
#经过group后,只能将分组后的信息查询出来
#只要使用了group by,select 后面只能跟group by 后面的字段或者是聚合函数
select
Address,
count(*),
sum(ID)
from
userinfo
group by
Address
#类型转换
#现在将两个列合并到一起显示ID+address
select convert(nvarchar(64),ID)+iphone from userinfo
select cast(ID as nvarchar(64))+iphone from userinfo
select ID+iphone from userinfo
datediff()#两个时间的差
dateadd()#增加时间
select month('2010-2-3') #2
select lower('HELLO')#转换成小写
#转换成小写,用在列中
select lower(address) from userinfo
select upper(address) from userinfo#转换成大写
select left(iphone,3) from userinfo#取iphone的左边3个元素
select rtrim(' 11212 ') #去掉空格
#查询前5个并降序排列
select top 5 ID from
order by time1 desc(error)