数据库sql代码
create database [数据库名];x0dx0auser [该数据库名];x0dx0ax0dx0a--学生表x0dx0acreate table [学生表表名](x0dx0asId int primary key, --学生ID编号,主键x0dx0asName varchar(10) unique not null, --学生名字x0dx0a);x0dx0ax0dx0a--科目表x0dx0acreate table [科目表表名](x0dx0asjId int primary key, --科目ID编号,主键x0dx0asjName varchar(10) unique not null, --科目名称x0dx0a);x0dx0ax0dx0a--成绩表x0dx0acreate table [成绩表表名]x0dx0arId int primary key, --成绩ID编号,主键x0dx0asjId int references [科目表表名](sjId), --科目ID编号,继承科目表的ID编号x0dx0asId int references [学生表表名](sId), --学生ID编号,继承学生表的ID编号x0dx0aresult float not null --成绩x0dx0a);x0dx0ax0dx0a--查询语句x0dx0aselect r.rId,sj.sjId,sj.sjName,su.sId,su.sName,r.result x0dx0afrom [成绩表表名] r,x0dx0ajoin [科目表表名] sj on sj.sjId=r.sjId,x0dx0ajoin [学生表表名] su on su.sId=r.sId;
2. 如何使用SQL代码创建数据库
我们一般都是运用图形化工具创建数据库,那么如何运用SQL语言创建数据库呢?下面我给大家分享一下。
工具/材料
SQL Server Managment
- 01
首先打开SQL Server Managment,登录本地数据库管理平台,如下图所示
- 02
然后点击顶部的新建查询按钮,如下图所示
- 03
接下来在查询编辑界面输入create database语句,后面加上数据库名称,如下图所示
- 04
最后我们就可以在数据库列表中看到创建的数据库了,如下图所示
3. 求使用sql语句创建和删除数据库的代码
1、使用create
database创建数据库test
create
database
test
on
primary
(
name
=
'test',
filename='c:\program
files\microsoft
sql
server\mssql\data\test.mdf',
size=10240kb,
maxsize
=
unlimited,
filegrowth
=
10%)
log
on
(
name='test_log',
filename='c:\program
files\microsoft
sql
server\mssql\data\test_log.ldf',
size=1024kb,
maxsize
=
5120kb,
filegrowth
=
1024kb
)
go
2.
使用alter
database语句修改数据库
例4-3将两个数据文件和一个事务日志文件添加到test数据库中。
程序清单如下:
alter
database
test
add
file
(name
=
test1,
filename='c:\program
files\microsoft
sql
server\mssql\data\test1.ndf',
size
=
5mb,
maxsize
=
100mb,
filegrowth
=
5mb),
(name
=
test2,
filename='c:\program
files\microsoft
sql
server\mssql\data\test2.ndf',
size
=
3mb,
maxsize
=
10mb,
filegrowth
=
1mb)
go
alter
database
test
add
log
file
(
name
=
testlog1,
filename='c:\program
files\microsoft
sql
server\mssql\data\testlog1.ldf',
size
=
5mb,
maxsize
=
100mb,
filegrowth
=
5mb)
go
3、重命名test为demo
sp_renamedb
'test','demo'
4、删除数据库
drop
database
demo
4. sql代码备份和还原数据库
SQL语句备份和恢复
SQL Server:
备份命令:
BACKUP DATABASE test
TO disk = 'c:\test'
WITH FORMAT,
NAME = 'Full Backup of MyNwind'
解释如下:
NAME = 'Full Backup of MyNwind' --这个是备注,随便写。
还原命令:
USE master
GO
RESTORE DATABASE test_wt
FROM disk = 'c:\test_wt'
GO
MySQL:
备份:
mysqlmp -u root -p database_name > d:\db.bak
恢复:
mysql -u root -p database_name < d:\db.bak
注意:在WIN下,路径用path/filename.sql是不行的,那就用path\filename.sql
5. 如何使用SQL代码创建数据库
CREATEDATABASEdatabase_name[CONTAINMENT={NONE|PARTIAL}][ON[PRIMARY][,n][,[,n]][LOGON[,n]]][COLLATEcollation_name][WITH[,n]][;]::={FILESTREAM([,n])|DEFAULT_FULLTEXT_LANGUAGE={lcid|language_name|language_alias}|DEFAULT_LANGUAGE={lcid|language_name|language_alias}|NESTED_TRIGGERS={OFF|ON}|TRANSFORM_NOISE_WORDS={OFF|ON}|TWO_DIGIT_YEAR_CUTOFF=|DB_CHAINING{OFF|ON}|TRUSTWORTHY{OFF|ON}}::={NON_TRANSACTED_ACCESS={OFF|READ_ONLY|FULL}|DIRECTORY_NAME='directory_name'}_nameON[,n]FOR{{ATTACH[WITH[,n]]}|ATTACH_REBUILD_LOG}[;]::={(NAME=logical_file_name,FILENAME={'os_file_name'|'filestream_path'}[,SIZE=size[KB|MB|GB|TB]][,MAXSIZE={max_size[KB|MB|GB|TB]|UNLIMITED}][,FILEGROWTH=growth_increment[KB|MB|GB|TB|%]])}::={FILEGROUPfilegroup_name[CONTAINSFILESTREAM][DEFAULT][,n]}::={|RESTRICTED_USER|FILESTREAM(DIRECTORY_NAME={'directory_name'|NULL})}::={ENABLE_BROKER|NEW_BROKER|ERROR_BROKER_CONVERSATIONS}_snapshot_nameON(NAME=logical_file_name,FILENAME='os_file_name')[,n]ASSNAPSHOTOFsource_database_name[;]database_name新数据库的名称。数据库名称在SQLServer的实例中必须唯一,并且必须符合标识符规则。除非没有为日志文件指定逻辑名称,否则database_name最多可以包含128个字符。如果未指定逻辑日志文件名称,则SQLServer将通过向database_name追加后缀来为日志生成logical_file_name和os_file_name。这会将database_name限制为123个字符,从而使生成的逻辑文件名称不超过128个字符。如果未指定数据文件的名称,则SQLServer使用database_name作为logical_file_name和os_file_name。默认路径从注册表中获得。可以使用ManagementStudio中的“服务器属性”(“数据库设置”页)更改默认路径。更改默认路径要求重新启动SQLServer。CONTAINMENT指定数据库的包含状态。NONE=非包含数据库。PARTIAL=部分包含的数据库。ON指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。当后面是以逗号分隔的、用以定义主文件组的数据文件的项列表时,需要使用ON。主文件组的文件列表可后跟以逗号分隔的、用以定义用户文件组及其文件的项列表(可选)。PRIMARY指定关联的列表定义主文件。在主文件组的项中指定的第一个文件将成为主文件。一个数据库只能有一个主文件。有关详细信息,请参阅数据库文件和文件组。如果没有指定PRIMARY,那么CREATEDATABASE语句中列出的第一个文件将成为主文件。LOGON指定显式定义用来存储数据库日志的磁盘文件(日志文件)。LOGON后跟以逗号分隔的用以定义日志文件的项列表。如果没有指定LOGON,将自动创建一个日志文件,其大小为该数据库的所有数据文件大小总和的25%或512KB,取两者之中的较大者。此文件放置于默认的日志文件位置。有关此位置的信息,请参阅查看或更改数据文件和日志文件的默认位置(SQLServerManagementStudio)。不能对数据库快照指定LOGON。COLLATEcollation_name指定数据库的默认排序规则。排序规则名称既可以是Windows排序规则名称,也可以是SQL排序规则名称。如果没有指定排序规则,则将SQLServer实例的默认排序规则分配为数据库的排序规则。不能对数据库快照指定排序规则名称。不能使用FORATTACH或FORATTACH_REBUILD_LOG子句指定排序规则名称。有关如何更改附加数据库的排序规则的信息,请访问此Microsoft网站。有关Windows和SQL排序规则名称的详细信息,请参阅COLLATE(Transact-SQL)。注意包含数据库的排序方式不同于非包含数据库。有关详细信息,请参阅包含数据库的排序规则。WITH仅在将CONTAINMENT设置为PARTIAL之后,才允许使用以下选项。如果将CONTAINMENT设置为NONE,将发生错误。NON_TRANSACTED_ACCESS={OFF|READ_ONLY|FULL}指定对数据库的非事务性FILESTREAM访问的级别。USEmaster;GOCREATEDATABASEmytest;GO--,size,size*1.0/128AS[SizeinMBs]FROMsys.master_filesWHEREname=N'mytest';GOUSEmaster;GOCREATEDATABASEmytest;GO--,size,size*1.0/128AS[SizeinMBs]FROMsys.master_filesWHEREname=N'mytest';GOB.创建指定数据和事务日志文件的数据库下面的示例将创建数据库Sales。因为没有使用关键字PRIMARY,第一个文件(Sales_dat)将成为主文件。因为在Sales_dat文件的SIZE参数中没有指定MB或KB,将使用MB并按MB分配。Sales_log文件以MB为单位进行分配,因为SIZE参数中显式声明了MB后缀。USEmaster;GOCREATEDATABASESalesON(NAME=Sales_dat,FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=Sales_log,FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB);GOUSEmaster;GOCREATEDATABASESalesON(NAME=Sales_dat,FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=Sales_log,FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB);GOC.通过指定多个数据和事务日志文件创建数据库以下示例创建数据库Archive,该数据库具有三个100-MB数据文件和两个100-MB事务日志文件。主文件是列表中的第一个文件,并使用PRIMARY关键字显式指定。事务日志文件在LOGON关键字后指定。请注意用于FILENAME选项中各文件的扩展名:.mdf用于主数据文件,.ndf用于辅助数据文件,.ldf用于事务日志文件。此示例将数据库放置于D:驱动器上,而非master数据库中。USEmaster;(NAME=Arch1,FILENAME='D:\SalesData\archdat1.mdf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch2,FILENAME='D:\SalesData\archdat2.ndf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch3,FILENAME='D:\SalesData\archdat3.ndf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)LOGON(NAME=Archlog1,FILENAME='D:\SalesData\archlog1.ldf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Archlog2,FILENAME='D:\SalesData\archlog2.ldf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20);GOUSEmaster;(NAME=Arch1,FILENAME='D:\SalesData\archdat1.mdf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch2,FILENAME='D:\SalesData\archdat2.ndf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch3,FILENAME='D:\SalesData\archdat3.ndf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)LOGON(NAME=Archlog1,FILENAME='D:\SalesData\archlog1.ldf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Archlog2,FILENAME='D:\SalesData\archlog2.ldf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20);GO
6. 15个MySQL常用基本SQL语句
在学习SQL语句之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、SQL Server等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。
在MySQL中,数据库称为database,数据表称为table,一个数据库软件中有多个数据库(databases),每个数据库中又可以有多个数据表(tables),最终,数据是存储在数据表中。
数据库和数据表之间的关系可以用下面这个图来表示,对于一个数据库来说,有多个数据表。
在正式开始写SQL语句之前,需要说明两点。
这里通过MySQL Workbench来写SQL代码,在Workbench中,执行一条SQL语句的方式有两种。
了解了这之后,接下来介绍一些常见的命令,分两部分:数据库常用命令和数据表常用命令。
1、查看有哪些数据库
2、创建数据库
创建一个名为Testdb的数据库。
3、创建数据库并指定编码格式
有些时候,为了防止中文乱码,创建数据库的时候需要指定编码格式。
4、使用某个数据库
使用mydb这个数据库,或者进入mydb这个数据库。
5、删除数据库
删除Testdb这个数据库。
1、查看有哪些数据表
进入某个数据库之后,想查看有哪些数据表,SQL语句为:
mydb是一个新建的数据库,所以自然是没有数据表。
2、创建数据表
建表SQL语句格式为:
说明: 每个字段以逗号分隔,最后一个字段不加逗号。
例如,给定一个学员信息表,如下表所示。
根据以上表格,建表SQL语句如下。
以上语句中,primary key表示主键,意思是这个字段作为记录的唯一标识,就像每个人的身份证号,都是唯一确定的。
3、查看表结构
查看表结构的SQL命令为:
执行该命令会显示表stuinfo的基本结构,例如有哪些字段,每个字段是什么类型,谁是主键等。
4、修改数据表
修改数据表通过drop子句进行,比如,建完表后,想增加一个字段,SQL语句的格式为:
想在指定位置增加一个字段,例如,在某个字段后增加一个字段,SQL语句的格式为:
如果在某个字段之前增加字段,用before即可。
例如,在字段age后增加一个字段major(专业),SQL语句为:
执行这个命令,再通过describe查看表结构,会发现表中多了一个字段major。
如果要删除major这个字段,通过drop子句,SQL语句为:
5、重命名表
重命名表通过alter+rename来实现,SQL语句格式为:
这里为了不影响之前创建的表,我们创建一个新表,SQL语句如下。
以上创建一个名为stuInfoTest的表,现在想将它的名称改成stuinfotest1,SQL语句为:
6、删除数据表
删除数据表通过drop进行,SQL语句格式为:
例如,删除数据表stuinfotest1,SQL语句为:
7、插入记录
此时的表stuinfo是空的,没有数据,我们要向表中插入记录。
插入记录通过insert into进行,SQL语句格式为:
例如,向表stuinfo插入一条记录,SQL语句为:
注意:上方是一条SQL语句,为了可读性换行,记住一条SQL语句默认以分号结尾。
如果需要一次性插入多条记录,SQL语句格式为:
例如,向表stuinfo再插入两条记录,SQL语句为:
注意:如果设置了主键,插入记录的主键字段是不能重复的,也就是不能插入重复的记录。
作业:大家可以按照上述方法将上面的学员信息表中的所有记录都插入表stuinfo中。
8、查询记录
有了数据之后,就可以查询记录了,查询记录通过select子句进行。
例如,想查询表stuinfo中的所有记录,SQL语句为:
执行之后,就可以看到表stuinfo中的所有记录了。
如果想查询符合某个条件的记录,就要用到where子句了,SQL格式为:
例如,想查询stuid为20161001的记录,SQL语句为:
9、删除记录
删除记录通过delete子句进行,SQL语句格式为:
例如,想删除stuid为20161002的记录,SQL语句为:
10、修改记录
修改记录通过update子句进行,update就是更新的意思,SQL语句格式为:
例如,想将学号(stuid)为20161001的记录的姓名(stuname)更新为Jack,SQL语句为:
以上,就是MySQL中的基本SQL语句。
零基础如何学习数据分析?查看下方专栏。