layout: post title: 数据库基本语句 category: SQL tags: sql1 keywords: sql description: 数据库 DAl ,DDl ——-
#Sql Server安装问题
Sql Server 2012 安装成功后sa账号能正常登录,但是jdbc连接不上去,报 tcp/ip端口错误
解决方法:sql server 网络配置工具中,配置工具——>SqlServer配置管理器——>Sql Server 网络配置——>tcp/ip属性——>ip地址——>IPAll——>tcp动态端口改为0,tcp端口改为 1433
#Sql Server 上的基本数据库语句
#Sql Server 导入大文件的数据 cmd shell状态下 : 右键数据库——> power shell sqlcmd -i c:\sql文件名.sql
很容易玩记,好记性不如烂笔头
数据库基本语句
启动服务命令:net start mssqlserver 停止服务命令:net stop mssqlserver
##通过sql语句来创建数据库 /*语法: create database 数据库名 */
##判断是否已经存在此数据库,如果存在,就删除 ##删除:drop 删除的类型 名称
创建数据库
sysdatabases:是存在master数据库中的
if exists(select *from sysdatabases where name ='test190')
drop database test190
create database test190
on --primary
(
name = 'test190_data', --逻辑名称
filename = 'c:\test190_data.mdf', --物理名称(路径)
size = 3mb, --文件初始大小
maxsize = 10mb, --限制文件最大值
filegrowth = 1mb --文件增长大小
)
log on
(
name = 'test190_log',
filename = 'c:\test190_log.ldf',
size = 1mb,
maxsize = 5mb,
filegrowth = 10%
)
修改列
EXEC sp_rename 't_grade.[desc]', 'grade_desc', 'COLUMN'
通过sql创建表
/*语法:
create table 表名
(
列名 数据类型 列的特征,
列2 数据类型 列的特征,
......
)
*/
--指定使用的数据库
use test190
--sysobjects:每个数据库都存在的表
if exists(select * from sysobjects where name = 'studentinfo')
drop table studentinfo
create table studentinfo
(
id int identity(1,1) not null primary key,
name varchar(20),
sex varchar(2),
age int
)
修改表:新增列 alter table studentinfo add classid int not null
修改列:修改列属性 –varchar如果不指定长度,默认是1个字节 alter table studentinfo alter column sex varchar(20) 修改列:修改列名:
/*:标识列是不允许修改的 alter table studentinfo alter column id int identity(1,1) */
修改表:删除列 alter table studentinfo drop column classid
/*数据完整性: 1.域完整性 非空约束 数据类型约束 默认值约束 check约束
2.实体完整性 主键约束 唯一键约束
3.引用完整性 外键约束
4.自定义完整性 */ #修改数据库名 表名 列名
EXEC sp_renamedb ‘Old_name’,’New_name’; EXEC sp_rename ‘customers’, ‘custs’ EXEC sp_rename ‘customers.[contact title]’, ‘title’, ‘COLUMN’
通过sql脚本创建约束
语法:
ALTER TABLE 表名
ADD CONSTRAINT 约束名 约束类型 具体的约束说明
#约束 约束名的取名规则推荐采用:约束类型_约束列 主键(Primary Key)约束:如 PK_stuNo 唯一(Unique Key)约束:如 UQ_stuID 默认(Default Key)约束:如 DF_stuAddress 检查(Check Key)约束:如 CK_stuBornDate 外键(Foreign Key)约束:如 FK_stuNo */
主键约束
alter table studentinfo add constraint PK_id primary key (id)
默认值约束
alter table studentinfo add constraint DF_sex default(‘男’) for sex
唯一键约束
alter table studentinfo add constraint UQ_name unique(name)
check约束
alter table studentinfo add constraint CK_age check(age>=30 and age<=40)
添加外键约束
create table classinfo ( classid int primary key identity(1,1), classname varchar(20) ) alter table studentinfo add constraint FK_classid foreign key (classid) references classinfo(classid)
删除约束
alter table studentinfo drop constraint CK_age
##修改表字段名(mysql)
alter table studentinfo change stuName stu_name varchar(255)
##导出数据库(mysql)
mysqldump -uroot -p123 test > test.sql
MySQL查询时指定使用索引
指定索引,有表 student, 索引 idx_student_name 情况下
select name,phone,status from student use index(idx_student_name) where name=’小明’