mysqlsqlserver语法_数据库基本语法(SqlServer,MySql)

mysqlsqlserver语法_数据库基本语法(SqlServer,MySql)

2023年7月17日发(作者:)

mysqlsqlserver语法_数据库基本语法(SqlServer,MySql)1、创建⼀个⽼师表 CREATE TABLE teachers ( id INT (10) NOT NULL auto_increment, NAME nvarchar (10) NOT NULL, sexnvarchar (8) NOT NULL, PRIMARY KEY (id) ); 2、对teachers表进⾏查询 SELECT * FROM teachers; 3、查询当前数据库中的所有表 SHOW TABL数据库简单语句:注释(开头--)1》创建库create database LiangshanHeros表和列的命名规则(SqlServer 2000):必须以字母,下划线,或者汉字开头(最好是以字母开头);长度不能超过128个字符;不能使⽤系统保留字;只能使⽤如下字符A-Z,a-z,0-9,$,#,_等;2》使⽤数据库use LiangshanHeros3》创建表create table hero(heroId int primary key, --排名heroName varchar(50),--名字heroNickName varchar(50),--外号sex char(2))注:如果有外键,则需要再类型后⾯加上 foreign key reference 另⼀个表名(另⼀个表的主键)复合主键的例⼦:我写⼤致步骤,每个步骤的具体做法,可以⾃⾏百度 1、 安装好SQLServer数据库、eclipse 2、 配置SQLServer的IP和端⼝号,这个可以上⽹搜,配置SQLServer为sa登录 3、 在SQLServer数据中创建yq数据库,在yq数据库中创建yq_user数据表,当create table test2(testId int ,testName varchar(30),testAge int,primary key(testId, testName) --指明复合主键)维护数据的完整性--约束: 约束有五种:not null;unique;primary key;foreign key;check;1,unique:约束该列值是不能重复的,但是可以是NULL(不能⼜多个NULL值,否则违反不可重复) 主键:不可重复,且不能为NULL。⼀个表最多只能有⼀个主键,但是可以有多个unique约束。2,check的举例:create table test3(testId int ,testAge int check(testAge>0 and testAge<150))4》插⼊数据insert into hero values(1, '宋江', '及时⾬', '男')插⼊数据的语法:insert into 表名(字段列表) values(值列表)5》查询select * from hero where heroId>26》修改update hero set sex='⼥' where heroId=1更新数据的语法;update 表名 set 字段名1=?,字段名2=? where 条件7》删除记录delete from hero where sex='⼥'数据库复杂查询语句1》查询指定列:select 字段1,字段2 from 表名 where 条件;2》取消重复⾏select distinct 字段列表 from 表名 where 条件; 3》算术表达式:处理null值函数:isnull(字段,0),如果该字段为NULL,则返回0,如果不为NULL,则返回字段值;between 1 and 100:范围在[1,100]区间4》like(模糊查询):%代表0到多个字符; _代表单个字符;5》in(批量查询):where 字段 in (x,y,z ……)6》order byselect 字段 from 表 order by 待排序的字段1 asc(升序)/desc(降序),待排序字段2 asc/desc 7》分页查询:select top XX 字段from ……注:XX指显⽰从1~XX ⾏的结果例:如果想取出从x到y条数据,则应使⽤嵌套查询。select top y-x+1 * from 表A where 字段2 not in(select top x-1 字段 from 表A order by 字段2)order by 字段2 分析:排除前x-1条数据,从x条开始挑出y-x+1条数据,即可。注意,最后的order by 不能省略,否则会出错。8》聚合函数:max,min,avg,sum,count;注:聚合不能出现在where⼦句中,除⾮聚合位于Having⼦句,或者⼦查询中……9》SQL语句优化的原则:尽可能把最好的条件写在最右⾯。最好的条件指能使结果最好的的条件;10》统计函数:count,如果统计⾏数,⼀般写select count(*) from 表名;11》group by:⽤于对查询的结果分组统计12》having:⽤于限制分组显⽰结果。往往和group by 结合使⽤,可以对分组结果进⾏再次筛选。总结:按这样的顺序写SQL语句:group by,having,order by;13》多表查询:select 字段1,字段2,a.字段3from 表A a,表B bwhere a.字段X=b.字段Y 其中,a和b分别是表A和B的别名, ⼀旦⽤别名,最好都⽤别名。14》 单⾏⼦查询(即查询结果是单⾏数据)⽤=,多⾏⼦查询⽤in; 15》匹配字段为空的条件时,不能⽤=null,⽽是⽤ is null,否则条件不满⾜。 SqlServer 2000⽀持的数据类型 12,⽀持的数据类型:1》字符型:char和varchar都是⾮unicode编码;nchar和nvarchar都是unicode编码;注:⼀般带有汉字的字段类型⽤nvarchar,全英⽂或符号的⽤varchar2》数字型:bit:0或1int:bigint:float:存放⼩数时,需要指定尾数的位数,不推荐使⽤numeric:存放⼩数,需要指定⼩数的总位数,和尾数的位数,⽐较灵活;3》⽇期类型:datatime:表⽰⽇期,毫秒级;timestamp:时间戳;4》图⽚image:保存图⽚,但是很少⽤。⼀般的做法是保存图⽚的路径,根据路径到图⽚服务器(或图床)。因此⼀般图⽚都不放在数据库中;在图⽚有安全要求时,可以考虑放⼊数据库,且图⽚不能太⼤,否则数据库负载较重。5》视频binary:跟图⽚的道理雷同,很少⽤。SqlServer 2000 数据库的备份和恢复 1,使⽤企业管理器完成备份和恢复:分离和附加数据库;备份和还原。 2,使⽤查询分析器完成备份和恢复(即命令⾏):--备份backup database 数据库名字 to disk='F:'--删除数据库drop database 数据库名字--还原restore database 你的数据库名字 from disk='备份⽂件路径'注:有时可能不需要备份整个数据库,只需要备份表,⾃⼰在⽹上搜索。MySql: 1,命令⾏连接MySql数据库:mysql -u ⽤户名 -p密码注意:-p与密码之间没有空格。2,MySql的基本语法1》show databases;2》use 数据库名;3》show tables;4》create database [if not exists] 数据库名 [character set utf8];注:查看之前创建数据库的指令:show create database 数据库名;5》drop database 数据库名;6》备份数据库:mysqldump -u ⽤户名 -p密码 数据库名 > ⽂件名.sql注:该指令是在DOS下执⾏的,不能在Mysql命令⾏控制台使⽤7》恢复数据库:source ⽂件名.sql注:要先创建⼀个数据库,名字可以⾃拟,并进⼊该数据库。该指令是在Mysql命令⾏控制台使⽤的。Java操作SqlServer 1,JDBC驱动的分类:jdbc-odbc桥连;本地协议纯Java驱动;⽹络协议纯java驱动;本地API。(前两个⽤的⽐较多)2,jdbc的不⾜:不能更好的实现跨数据库操作,于是诞⽣了Hibernate项⽬。Hibernate是对jdbc的再封装,实现了对数据库操作更宽泛的统⼀和更好的移植性。3,Statement和PreparedStatement的区别:都可以执⾏Sql语句,但后者有预编译功能,更适合多次重复操作,或者批量操作,能够提⾼执⾏效率;其次,后者可以在程序中使⽤?赋 值,能有效的防⽌SQL注⼊漏洞;--SQL注⼊漏洞例⼦:。。。。4,如果使⽤jdbc-odbc,不需要引⼊任何包,如果使⽤jdbc⽅式,需要引⼊jar包。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689566883a266825.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信