SQL之-建库、建表、建约束、关系SQL基本语句大全

合集下载

数据库命令语句

数据库命令语句

数据库命令语句
1. CREATE DATABASE - 创建新数据库
2. CREATE TABLE - 创建新表
3. SELECT - 从表中选取数据
4. INSERT INTO - 向表中插入新数据
5. UPDATE - 更新表中数据
6. DELETE - 从表中删除数据
7. ALTER TABLE - 修改表的结构
8. DROP TABLE - 删除表
9. INDEX - 创建索引
10. JOIN - 在多个表之间进行关联
11. GROUP BY - 按照指定的列进行分组
12. ORDER BY - 对结果集按照指定列进行排序
13. UNION - 把两个或多个SELECT 语句的结果合并起来
14. TRUNCATE TABLE - 删除表中的所有数据,但不删除表定义
15. COMMIT - 事务提交
16. ROLLBACK - 事务回滚
17. GRANT - 赋予用户访问权限
18. REVOKE - 撤销用户访问权限
19. CREATE VIEW - 创建视图
20. ALTER VIEW - 修改视图。

SQL语句大全(很全)sql语句用法

SQL语句大全(很全)sql语句用法

SQL语句大全--语句功能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域ALTER DOMAIN --改变域定义DROP DOMAIN --从数据库中删除一个域--数据控制GRANT --授予用户访问权限DENY --拒绝用户访问REVOKE --解除用户访问权限--事务控制COMMIT --结束当前事务ROLLBACK --中止当前事务SET TRANSACTION --定义当前事务数据访问特征--程序化SQLDECLARE --为查询设定游标EXPLAN --为查询描述数据访问计划OPEN --检索查询结果打开一个游标FETCH --检索一行查询结果CLOSE --关闭游标PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句DESCRIBE --描述准备好的查询---局部变量declare id char(10)--set id = '10010001'select id = '10010001'---全局变量---必须以开头--IF ELSEdeclare x int y int z intselect x = 1 y = 2 z=3if x > yprint 'x > y' --打印字符串'x > y'else if y > zprint 'y > z'else print 'z > y'--CASEuse panguupdate employeeset e_wage =casewhen job_level = ’1’ then e_wage*1.08 when job_level = ’2’ then e_wage*1.07 when job_level = ’3’ then e_wage*1.06else e_wage*1.05end--WHILE CONTINUE BREAKdeclare x int y int c intselect x = 1 y=1while x < 3beginprint x --打印变量x 的值while y < 3beginselect c = 100*x + yprint c --打印变量c 的值select y = y + 1endselect x = x + 1select y = 1end--WAITFOR--例等待1 小时2 分零3 秒后才执行SELECT 语句waitfor delay ’01:02:03’select * from employee--例等到晚上11 点零8 分后才执行SELECT 语句waitfor time ’23:08:00’select * from employee***SELECT***select *(列名) from table_name(表名) where column_name operator valueex:(宿主)select * from stock_information where stockid = str(nid)stockname = 'str_name'stockname like '% find this %'stockname like '[a-zA-Z]%' --------- ([]指定值的围)stockname like '[^F-M]%' --------- (^排除指定围)--------- 只能在使用like关键字的where子句中使用通配符)or stockpath = 'stock_path'or stocknumber < 1000and stockindex = 24not stock*** = 'man'stocknumber between 20 and 100stocknumber in(10,20,30)order by stockid desc(asc) --------- 排序,desc-降序,asc-升序order by 1,2 --------- by列号stockname = (select stockname from stock_information where stockid = 4)--------- 子查询--------- 除非能确保层select只返回一个行的值,--------- 否则应在外层where子句中用一个in限定符select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name select stockname , "stocknumber" = count(*) from table_name group by stockname--------- group by 将表按行分组,指定列中有相同的值having count(*) = 2 --------- having选定指定的组select *from table1, table2where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示table1.id =* table2.id -------- 右外部连接select stockname from table1union [all] ----- union合并查询结果集,all-保留重复行select stockname from table2***insert***insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx") value (select Stockname , Stocknumber from Stock_table2)---value为select语句***update***update table_name set Stockname = "xxx" [where Stockid = 3]Stockname = defaultStockname = nullStocknumber = Stockname + 4***delete***delete from table_name where Stockid = 3truncate table_name ----------- 删除表中所有行,仍保持表的完整性drop table table_name --------------- 完全删除表***alter table*** --- 修改数据库表结构alter table database.owner.table_name add column_name char(2) null .....sp_help table_name ---- 显示表已有特征create table table_name (name char(20), age smallint, lname varchar(30))insert into table_name select ......... ----- 实现删除列的方法(创建新表)alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束***function(/*常用函数*/)***----统计函数----AVG --求平均值COUNT --统计数目MAX --求最大值MIN --求最小值SUM --求和--AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id--MAX--求工资最高的员工use panguselect e_namefrom employeewhere e_wage =(select max(e_wage)from employee)--STDEV()--STDEV()函数返回表达式中所有数据的标准差--STDEVP()--STDEVP()函数返回总体标准差--VAR()--VAR()函数返回表达式中所有值的统计变异数--VARP()--VARP()函数返回总体变异数----算术函数----/***三角函数***/SIN(float_expression) --返回以弧度表示的角的正弦COS(float_expression) --返回以弧度表示的角的余弦TAN(float_expression) --返回以弧度表示的角的正切COT(float_expression) --返回以弧度表示的角的余切/***反三角函数***/ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角ATAN2(float_expression1,float_expression2)--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角DEGREES(numeric_expression)--把弧度转换为角度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型RADIANS(numeric_expression) --把角度转换为弧度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型EXP(float_expression) --返回表达式的指数值LOG(float_expression) --返回表达式的自然对数值LOG10(float_expression)--返回表达式的以10 为底的对数值SQRT(float_expression) --返回表达式的平方根/***取近似值函数***/CEILING(numeric_expression) --返回>=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型FLOOR(numeric_expression) --返回<=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型ROUND(numeric_expression) --返回以integer_expression 为精度的四舍五入值返回的数据--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型ABS(numeric_expression) --返回表达式的绝对值返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型SIGN(numeric_expression) --测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型PI() --返回值为π 即3.97936RAND([integer_expression]) --用任选的[integer_expression]做种子值得出0-1 间的随机浮点数----字符串函数----ASCII() --函数返回字符表达式最左端字符的ASCII 码值CHAR() --函数用于将ASCII 码转换为字符--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值LOWER() --函数把字符串全部转换为小写UPPER() --函数把字符串全部转换为大写STR() --函数把数值型数据转换为字符型数据LTRIM() --函数把字符串头部的空格去掉RTRIM() --函数把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置SOUNDEX() --函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值DIFFERENCE() --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异--0 两个SOUNDEX 函数返回值的第一个字符不同--1 两个SOUNDEX 函数返回值的第一个字符相同--2 两个SOUNDEX 函数返回值的第一二个字符相同--3 两个SOUNDEX 函数返回值的第一二三个字符相同--4 两个SOUNDEX 函数返回值完全相同QUOTENAME() --函数返回被特定字符括起来的字符串/*select quotename('abc', '{') quotename('abc')运行结果如下----------------------------------{{abc} [abc]*/REPLICATE() --函数返回一个重复character_expression 指定次数的字符串/*select replicate('abc', 3) replicate( 'abc', -2)运行结果如下----------- -----------abcabcabc NULL*/REVERSE() --函数将指定的字符串的字符排列顺序颠倒REPLACE() --函数返回被替换了指定子串的字符串/*select replace('abc123g', '123', 'def')运行结果如下----------- -----------abcdefg*/SPACE() --函数返回一个有指定长度的空白字符串STUFF() --函数用另一子串替换字符串指定位置长度的子串----数据类型转换函数----CAST() 函数语法如下CAST() (<expression> AS <data_ type>[ length ])CONVERT() 函数语法如下CONVERT() (<data_ type>[ length ], <expression> [, style])select cast(100+99 as char) convert(varchar(12), getdate())运行结果如下------------------------------ ------------199 Jan 15 2000----日期函数----DAY() --函数返回date_expression 中的日期值MONTH() --函数返回date_expression 中的月份值YEAR() --函数返回date_expression 中的年份值DATEADD(<datepart> ,<number> ,<date>)--函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期DATEDIFF(<datepart> ,<number> ,<date>)--函数返回两个指定日期在datepart 方面的不同之处DATENAME(<datepart> , <date>) --函数以字符串的形式返回日期的指定部分DATEPART(<datepart> , <date>) --函数以整数值的形式返回日期的指定部分GETDATE() --函数以DATETIME 的缺省格式返回系统当前的日期和时间----系统函数----APP_NAME() --函数返回当前执行的应用程序的名称COALESCE() --函数返回众多表达式中第一个非NULL 表达式的值COL_LENGTH(<'table_name'>, <'column_name'>) --函数返回表中指定字段的长度值COL_NAME(<table_id>, <column_id>) --函数返回表中指定字段的名称即列名DATALENGTH() --函数返回数据表达式的数据的实际长度DB_ID(['database_name']) --函数返回数据库的编号DB_NAME(database_id) --函数返回数据库的名称HOST_ID() --函数返回服务器端计算机的名称HOST_NAME() --函数返回服务器端计算机的名称IDENTITY(<data_type>[, seed increment]) [AS column_name]) --IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中/*select identity(int, 1, 1) as column_nameinto newtablefrom oldtable*/ISDATE() --函数判断所给定的表达式是否为合理日期ISNULL(<check_expression>, <replacement_value>) --函数将表达式中的NULL 值用指定值替换ISNUMERIC() --函数判断所给定的表达式是否为合理的数值NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值NULLIF(<expression1>, <expression2>)--NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1的值sql中的保留字action add aggregate allalter after and asasc avg avg_row_length auto_incrementbetween bigint bit binaryblob bool both bycascade case char characterchange check checksum columncolumns comment constraint createcross current_date current_time current_timestamp data database databases datedatetime day day_hour day_minute day_second dayofmonth dayofweek dayofyeardec decimal default delayeddelay_key_write delete desc describedistinct distinctrow double dropend else escape escapedenclosed enum explain existsfields file first floatfloat4 float8 flush foreignfrom for full functionglobal grant grants grouphaving heap high_priority hourhour_minute hour_second hosts identifiedignore in index infileinner insert insert_id intinteger interval int1 int2int3 int4 int8 intoif is isam joinkey keys kill last_insert_idleading left length likelines limit load locallock logs long longbloblongtext low_priority max max_rowsmatch mediumblob mediumtext mediumintmiddleint min_rows minute minute_secondmodify month monthname myisamnatural numeric no notnull on optimize optionoptionally or order outeroutfile pack_keys partial passwordprecision primary procedure processprocesslist privileges read realreferences reload regexp renamereplace restrict returns revokerlike row rows secondselect set show shutdownsmallint soname sql_big_tables sql_big_selectssql_low_priority_updates sql_log_off sql_log_update sql_select_limit sql_small_result sql_big_result sql_warnings straight_joinstarting status string tabletables temporary terminated textthen time timestamp tinyblobtinytext tinyint trailing totype use using uniqueunlock unsigned update usagevalues varchar variables varyingvarbinary with write whenwhere year year_month zerofill查看全文分类: ( 一般分类 ) :: 评论 (0) :: 静态网址 :: 引用 (0)常用SQL命令和ASP编程发表人:kendy517 | 发表时间: 2007年二月09日, 11:57在进行数据库操作时,无非就是添加、删除、修改,这得设计到一些常用的SQL语句,如下:SQL常用命令使用方法:(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 like %字段值% order by 字段名 [desc]"sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 in (值1,值2,值3)"sql="select * from 数据表 where 字段名 between 值1 and 值2"(2) 更新数据记录:sql="update 数据表 set 字段名=字段值 where 条件表达式"sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"(3) 删除数据记录:sql="delete from 数据表 where 条件表达式"sql="delete from 数据表" (将数据表所有记录删除)(4) 添加数据记录:sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)(5) 数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"set rs=conn.excute(sql)用 rs("别名") 获取统的计值,其它函数运用同上。

SSQL语句大全

SSQL语句大全

SQL语句大全--语句功能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域ALTER DOMAIN --改变域定义DROP DOMAIN --从数据库中删除一个域--数据控制GRANT --授予用户访问权限DENY --拒绝用户访问REVOKE --解除用户访问权限--事务控制COMMIT --结束当前事务ROLLBACK --中止当前事务SET TRANSACTION --定义当前事务数据访问特征--程序化SQLDECLARE --为查询设定游标EXPLAN --为查询描述数据访问计划OPEN --检索查询结果打开一个游标FETCH --检索一行查询结果CLOSE --关闭游标PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句DESCRIBE --描述准备好的查询declare @id char(10)--set @id = ''select @id = ''---全局变量---必须以@@开头--IF ELSEdeclare @x int @y int @z intselect @x = 1 @y = 2 @z=3if @x > @yprint 'x > y' --打印字符串'x > y'else if @y > @zprint 'y > z'else print 'z > y'--CASEuse panguupdate employeeset e_wage =casewhen job_level = ’1’ then e_wage*1.08 when job_level = ’2’ then e_wage*1.07 when job_level = ’3’ then e_wage*1.06else e_wage*1.05end--WHILE CONTINUE BREAKdeclare @x int @y int @c intselect @x = 1 @y=1while @x < 3beginprint @x --打印变量x 的值while @y < 3beginselect @c = 100*@x + @yprint @c --打印变量c 的值select @y = @y + 1endselect @x = @x + 1select @y = 1end--例等待1 小时2 分零3 秒后才执行SELECT 语句waitfor delay ’01:02:03’select * from employee--例等到晚上11 点零8 分后才执行SELECT 语句waitfor time ’23:08:00’select * from employee***SELECT***select *(列名) from table_name(表名) where column_name operator valueex:(宿主)select * from stock_information where stockid = str(nid)stockname = 'str_name'stockname like '% find this %'stockname like '[a-zA-Z]%' --------- ([]指定值的范围)stockname like '[^F-M]%' --------- (^排除指定范围)--------- 只能在使用like关键字的where子句中使用通配符)or stockpath = 'stock_path'or stocknumber < 1000and stockindex = 24not stock*** = 'man'stocknumber between 20 and 100stocknumber in(10,20,30)order by stockid desc(asc) --------- 排序,desc-降序,asc-升序order by 1,2 --------- by列号stockname = (select stockname from stock_information where stockid = 4)--------- 子查询--------- 除非能确保内层select只返回一个行的值,--------- 否则应在外层where子句中用一个in限定符select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name select stockname , "stocknumber" = count(*) from table_name group by stockname --------- group by 将表按行分组,指定列中有相同的值having count(*) = 2 --------- having选定指定的组select *from table1, table2where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示table1.id =* table2.id -------- 右外部连接select stockname from table1union [all] ----- union合并查询结果集,all-保留重复行select stockname from table2***insert***insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx") value (select Stockname , Stocknumber from Stock_table2)---value为select语句***update***update table_name set Stockname = "xxx" [where Stockid = 3]Stockname = defaultStockname = nullStocknumber = Stockname + 4***delete***delete from table_name where Stockid = 3truncate table_name ----------- 删除表中所有行,仍保持表的完整性drop table table_name --------------- 完全删除表***alter table*** --- 修改数据库表结构alter table database.owner.table_name add column_name char(2) null .....sp_help table_name ---- 显示表已有特征create table table_name (name char(20), age smallint, lname varchar(30))insert into table_name select ......... ----- 实现删除列的方法(创建新表)alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束***function(/*常用函数*/)***----统计函数----AVG --求平均值COUNT --统计数目MAX --求最大值MIN --求最小值SUM --求和--AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id--MAX--比如求工资最高的员工姓名use panguselect e_namefrom employeewhere e_wage =(select max(e_wage)from employee)--STDEV()--STDEV()函数返回表达式中所有数据的标准差--STDEVP()--STDEVP()函数返回总体标准差--VAR()--VAR()函数返回表达式中所有值的统计变异数--VARP()--VARP()函数返回总体变异数----算术函数----/***三角函数***/SIN(float_expression) --返回以弧度表示的角的正弦COS(float_expression) --返回以弧度表示的角的余弦TAN(float_expression) --返回以弧度表示的角的正切COT(float_expression) --返回以弧度表示的角的余切/***反三角函数***/ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角ATAN2(float_expression1,float_expression2)--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角DEGREES(numeric_expression)--把弧度转换为角度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型RADIANS(numeric_expression) --把角度转换为弧度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型EXP(float_expression) --返回表达式的指数值LOG(float_expression) --返回表达式的自然对数值LOG10(float_expression)--返回表达式的以10 为底的对数值SQRT(float_expression) --返回表达式的平方根/***取近似值函数***/CEILING(numeric_expression) --返回>=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型FLOOR(numeric_expression) --返回<=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型ROUND(numeric_expression) --返回以integer_expression 为精度的四舍五入值返回的数据--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型ABS(numeric_expression) --返回表达式的绝对值返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型SIGN(numeric_expression) --测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型PI() --返回值为π 即3.97936RAND([integer_expression]) --用任选的[integer_expression]做种子值得出0-1 间的随机浮点数----字符串函数----ASCII() --函数返回字符表达式最左端字符的ASCII 码值CHAR() --函数用于将ASCII 码转换为字符--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值LOWER() --函数把字符串全部转换为小写UPPER() --函数把字符串全部转换为大写STR() --函数把数值型数据转换为字符型数据LTRIM() --函数把字符串头部的空格去掉RTRIM() --函数把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置SOUNDEX() --函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值DIFFERENCE() --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异--0 两个SOUNDEX 函数返回值的第一个字符不同--1 两个SOUNDEX 函数返回值的第一个字符相同--2 两个SOUNDEX 函数返回值的第一二个字符相同--3 两个SOUNDEX 函数返回值的第一二三个字符相同--4 两个SOUNDEX 函数返回值完全相同QUOTENAME() --函数返回被特定字符括起来的字符串/*select quotename('abc', '{') quotename('abc')运行结果如下:----------------------------------{abc} [abc]*/REPLICATE() --函数返回一个重复character_expression 指定次数的字符串/*select replicate('abc', 3) replicate( 'abc', -2)运行结果如下:----------- -----------abcabcabc NULLREVERSE() --函数将指定的字符串的字符排列顺序颠倒REPLACE() --函数返回被替换了指定子串的字符串/*select replace('abc123g', '123', 'def')运行结果如下:----------- -----------abcdefg*/SPACE() --函数返回一个有指定长度的空白字符串STUFF() --函数用另一子串替换字符串指定位置长度的子串----数据类型转换函数----CAST() 函数语法如下CAST() (<expression> AS <data_ type>[ length ])CONVERT() 函数语法如下CONVERT() (<data_ type>[ length ], <expression> [, style])select cast(100+99 as char) convert(varchar(12), getdate())运行结果如下------------------------------ ------------199 Jan 15 2000----日期函数----DAY() --函数返回date_expression 中的日期值MONTH() --函数返回date_expression 中的月份值YEAR() --函数返回date_expression 中的年份值DATEADD(<datepart> ,<number> ,<date>)--函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期DATEDIFF(<datepart> ,<number> ,<date>)--函数返回两个指定日期在datepart 方面的不同之处DATENAME(<datepart> , <date>) --函数以字符串的形式返回日期的指定部分DATEPART(<datepart> , <date>) --函数以整数值的形式返回日期的指定部分GETDATE() --函数以DATETIME 的缺省格式返回系统当前的日期和时间----系统函数----APP_NAME() --函数返回当前执行的应用程序的名称COALESCE() --函数返回众多表达式中第一个非NULL 表达式的值COL_LENGTH(<'table_name'>, <'column_name'>) --函数返回表中指定字段的长度值COL_NAME(<table_id>, <column_id>) --函数返回表中指定字段的名称即列名DATALENGTH() --函数返回数据表达式的数据的实际长度DB_ID(['database_name']) --函数返回数据库的编号DB_NAME(database_id) --函数返回数据库的名称HOST_ID() --函数返回服务器端计算机的名称HOST_NAME() --函数返回服务器端计算机的名称IDENTITY(<data_type>[, seed increment]) [AS column_name]) --IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中/*select identity(int, 1, 1) as column_nameinto newtablefrom oldtable*/ISDATE() --函数判断所给定的表达式是否为合理日期ISNULL(<check_expression>, <replacement_value>) --函数将表达式中的NULL 值用指定值替换ISNUMERIC() --函数判断所给定的表达式是否为合理的数值NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值NULLIF(<expression1>, <expression2>)--NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值sql中的保留字action add aggregate allalter after and asasc avg avg_row_length auto_incrementbetween bigint bit binaryblob bool both bycascade case char characterchange check checksum columncolumns comment constraint createcross current_date current_time current_timestampdata database databases datedatetime day day_hour day_minuteday_second dayofmonth dayofweek dayofyeardec decimal default delayeddelay_key_write delete desc describedistinct distinctrow double dropend else escape escapedenclosed enum explain existsfields file first floatfloat4 float8 flush foreignfrom for full functionglobal grant grants grouphaving heap high_priority hourhour_minute hour_second hosts identifiedignore in index infileinner insert insert_id intinteger interval int1 int2int3 int4 int8 intoif is isam joinkey keys kill last_insert_idleading left length likelines limit load locallock logs long longbloblongtext low_priority max max_rowsmatch mediumblob mediumtext mediumintmiddleint min_rows minute minute_secondmodify month monthname myisamnatural numeric no notnull on optimize optionoptionally or order outeroutfile pack_keys partial passwordprecision primary procedure processprocesslist privileges read realreferences reload regexp renamereplace restrict returns revokerlike row rows secondselect set show shutdownsmallint soname sql_big_tables sql_big_selectssql_low_priority_updates sql_log_off sql_log_update sql_select_limitsql_small_result sql_big_result sql_warnings straight_joinstarting status string tabletables temporary terminated textthen time timestamp tinyblobtinytext tinyint trailing totype use using uniqueunlock unsigned update usagevalues varchar variables varyingvarbinary with write whenwhere year year_month zerofill常用SQL命令和ASP编程在进行数据库操作时,无非就是添加、删除、修改,这得设计到一些常用的SQL语句,如下:SQL常用命令使用方法:(1) 数据记录筛选:sql="select * from 数据表where 字段名=字段值order by 字段名[desc]"sql="select * from 数据表where 字段名like %字段值% order by 字段名[desc]"sql="select top 10 * from 数据表where 字段名order by 字段名[desc]"sql="select * from 数据表where 字段名in (值1,值2,值3)"sql="select * from 数据表where 字段名between 值1 and 值2"(2) 更新数据记录:sql="update 数据表set 字段名=字段值where 条件表达式"sql="update 数据表set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"(3) 删除数据记录:sql="delete from 数据表where 条件表达式"sql="delete from 数据表" (将数据表所有记录删除)(4) 添加数据记录:sql="insert into 数据表(字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"sql="insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目标数据表)(5) 数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql="select sum(字段名) as 别名from 数据表where 条件表达式"set rs=conn.excute(sql)用rs("别名") 获取统的计值,其它函数运用同上。

关系数据库常用SQL语句语法大全

关系数据库常用SQL语句语法大全

关系数据库常⽤SQL 语句语法⼤全创建表语法CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件][,<列名> <数据类型>[列级完整性约束条件]]…);列级完整性约束条件有NULL[可为空]、NOT NULL[不为空]、UNIQUE[唯⼀],可以组合使⽤,但是不能重复和对⽴关系同时存在。

⽰例-- 创建学⽣表CREATE TABLE Student ( Id INT NOT NULL UNIQUE PRIMARY KEY, Name VARCHAR(20) NOT NULL, Age INT NULL, Gender VARCHAR(4) NULL);删除表语法DROP TABLE <表名>;⽰例-- 删除学⽣表DROP TABLE Student;清空表语法TRUNCATE TABLE <表名>;⽰例-- 删除学⽣表TRUNCATE TABLE Student;修改表######语法-- 添加列ALTER TABLE <表名> [ADD <新列名> <数据类型>[列级完整性约束条件]]-- 删除列ALTER TABLE <表名> [DROP COLUMN <列名>]-- 修改列ALTER TABLE <表名> [MODIFY COLUMN <列名> <数据类型> [列级完整性约束条件]]⽰例-- 添加学⽣表`Phone`列ALTER TABLE Student ADD Phone VARCHAR(15) NULL;-- 删除学⽣表`Phone`列ALTER TABLE Student DROP COLUMN Phone;-- 修改学⽣表`Phone`列ALTER TABLE Student MODIFY Phone VARCHAR(13) NULL;SQL 查询语句语法SELECT [ALL|DISTINCT] <⽬标列表达式>[,<⽬标列表达式>]…FROM <表名或视图名>[,<表名或视图名>]…[WHERE <条件表达式>][GROUP BY <列名> [HAVING <条件表达式>]][ORDER BY <列名> [ASC|DESC]…]SQL 查询语句的顺序:SELECT 、FROM 、WHERE 、GROUP BY 、HAVING 、ORDER BY 。

数据库基本SQL语句(大全)

数据库基本SQL语句(大全)

数据库基本SQL语句大全数据库基本----SQL语句大全一、基础1、说明:创建数据库Create DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.d at'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2…from tab_old defini tion only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。

DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键:Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。

sql建库语句

sql建库语句

sql建库语句SQL建库语句是一种用于创建和管理数据库的编程语言。

该语言使用结构化查询语言(SQL),一种用于检索和管理关系数据库中数据的语言。

通过SQL建库语句,用户可以创建和管理一个完整的数据库,包括表、视图、索引等多个组件。

本文将介绍SQL建库语句的基本语法、建库原则及相关注意事项。

一、SQL建库语句的基本语法SQL建库语句的基本语法由CREATE DATABASE、CREATE TABLE、CREATE VIEW等一系列关键词组成。

下面我们分别介绍这些关键词的具体语法规则。

1. CREATE DATABASECREATE DATABASE是SQL建库语句中用来创建一个新的数据库的关键词。

其语法格式为:CREATE DATABASE database_name;其中,database_name是你欲创建的数据库名。

2. CREATE TABLECREATE TABLE是SQL建库语句中用来创建一个新的表格的关键词。

其语法格式为:CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );其中,table_name是你欲创建的表格名。

在括号内,你需要列出表格中的各列名及其对应的数据类型。

例如:CREATE TABLE customers ( id INT PRIMARY KEY, name VARCHAR(50), ageINT, email VARCHAR(100) );这条SQL建库语句会创建一个名为“customers”的表格,该表格含有四个列,分别为“id”(主键)、“name”(字符串类型,可容纳50个字符)、“age”(整数类型)和“email”(字符串类型,可容纳100个字符)。

3. CREATE VIEWCREATE VIEW是SQL建库语句中用来创建视图(虚拟表格)的关键词。

mysql创建库的sql语句

mysql创建库的sql语句

mysql创建库的sql语句一、创建数据库1. 创建数据库:`CREATE DATABASE 数据库名;`2. 选择当前操作的数据库:`USE 数据库名;`二、创建数据表1. 创建一个新表:`CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型, ...);`2. 创建一个新表,且向其添加几行:`CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型, ...) VALUES (值1, 值2, ...);`3. 创建一个新表,并增加一个主键:`CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型,...) PRIMARY KEY (列名);`4. 创建表的另一种方式,将表特定定义语句写到另一个文件中:`CREATE TABLE 表名 (Arg1Name Arg1Type, Arg2Name Arg2Type, ...) ``TYPE = MyISAM``COMMENT ='Table Comment'``AVG_ROW_LENGTH = 8192``ROW_FORMAT = FIXED;`三、创建字段1. 创建字段并添加说明:`CREATE TABLE 表名 (列名1 数据类型 COMMENT '列说明', 列名2 数据类型 COMMENT '列说明', ...);`2. 向指定表中添加字段:`ALTER TABLE 表名 ADD 列名数据类型;`3. 从一个已有表拷贝字段:`CREATE TABLE 表名 (SELECT * FROM 已有表);`四、修改字段名称1. 修改指定表中指定字段的名称:`ALTER TABLE 表名 CHANGE 原列名新列名数据类型;`2. 将指定表的字段的顺序重新排列:`ALTER TABLE 表名 MODIFY 列名数据类型 AFTER 在其之后的列名;`3. 将指定字段的内容大小写转换:`UPDATE 表名 SET 列名 = UPPER(列名) WHERE 条件;`五、更改字段属性1. 将字段类型修改为指定类型:`ALTER TABLE 表名 MODIFY 列名新类型;`2. 设置字段默认值:`ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值;`3. 修改字段的长度:`ALTER TABLE 表名 ALTER 列名 TYPE VARCHAR(长度);`六、删除字段1. 从表中删除字段:`ALTER TABLE 表名 DROP 列名;`2. 从指定表中删除多个字段:`ALTER TABLE 表名 DROP 列名1, DROP 列名2;`3. 使用`DESC`命令查看表中字段信息:`DESC 表名;`七、删除表1. 从数据库中删除一个表:`DROP TABLE 表名;`2. 从指定数据库中删除多个表:`DROP TABLE 表名1, 表名2, 表名3;`。

sql语句大全及用法

sql语句大全及用法

sql语句大全及用法SQL(Structured Query Language,结构化查询语言)是用于存取和操纵关系式数据库的标准计算机语言,可用于定义、检索以及控制数据库中的数据。

它是由IBM公司的研究员开发出来的,不久后普及全世界,大大提高了操作数据库的效率。

sql通常被分成两种:DDL(数据定义语言,Data Definition Language)和DML(数据库操纵语言,Data Manipulation Language)。

其中DDL用于定义数据库结构和构建表,而DML则用于操纵并操作数据库中的数据。

1. 数据库结构构建(DDL)• 创建表(Create):CREATE TABLE 表名(字段名1 数据类型,字段名2 数据类型,……)• 修改表(Alter):ALTER TABLE 表名 ADD 字段名数据类型;ALTER TABLE 表名DROP 字段名;ALTER TABLE 表名 MODIFY 字段名数据类型• 删除表(Drop):DROP TABLE 表名2. 数据操纵(DML)• 更新数据(Update):UPDATE 表名 SET 字段名= 值 WHERE 条件• 授权(Grant):GRANT 权限 ON 数据库名 TO 用户4. 高级SQL语句• 嵌套查询(Nested query):SELECT * FROM 表名 WHERE 字段名 IN(SELECT * FROM 另一个表名 WHERE 条件)• 分组聚合(Group by):SELECT 字段名 FROM 表名 GROUP BY 字段名• 分页查询(Page query):SELECT * FROM 表名 LIMIT 起始的记录条数,获取的记录数。

sql创建数据库语句

sql创建数据库语句

sql创建数据库语句SQL是结构化查询语言的缩写,是一种用于管理关系型数据库的编程语言。

SQL语言可以用于创建、修改和删除数据库中的表、索引、视图和存储过程等数据库对象。

本文将介绍SQL创建数据库的语句,帮助读者了解如何使用SQL语言创建自己的数据库。

一、创建数据库在SQL中创建数据库的语句是CREATE DATABASE。

该语句需要指定数据库的名称,例如:CREATE DATABASE my_database;这个语句将创建名为“my_database”的数据库。

如果要在创建数据库时指定数据库的字符集和排序规则,可以使用以下语句:CREATE DATABASE my_databaseCHARACTER SET utf8mb4COLLATE utf8mb4_general_ci;这个语句将创建名为“my_database”的数据库,并将字符集设置为“utf8mb4”,排序规则设置为“utf8mb4_general_ci”。

二、创建表在SQL中创建表的语句是CREATE TABLE。

该语句需要指定表的名称、列名和数据类型,例如:CREATE TABLE my_table (id INT PRIMARY KEY,name VARCHAR(255),age INT);这个语句将创建名为“my_table”的表,并定义了3个列:id、name和age。

其中,id列被定义为主键,数据类型为INT;name列被定义为VARCHAR类型,长度为255;age列被定义为INT类型。

在创建表时,还可以指定列的约束条件,例如:CREATE TABLE my_table (id INT PRIMARY KEY,name VARCHAR(255) NOT NULL,age INT DEFAULT 0);这个语句将创建名为“my_table”的表,并定义了3个列:id、name和age。

其中,id列被定义为主键,数据类型为INT;name列被定义为VARCHAR类型,长度为255,并且设置了NOT NULL约束条件;age列被定义为INT类型,并设置了DEFAULT约束条件,当没有指定age列的值时,将默认为0。

sqlserver建库建表(数据库和数据表的常用操作)

sqlserver建库建表(数据库和数据表的常用操作)

sqlserver建库建表(数据库和数据表的常⽤操作)数据库和数据表(开发常⽤操作)⼀,数据库的创建⼀个SQLServer 是由两个⽂件组成的:数据⽂件(mdf) 和⽇志⽂件(ldf),所以我们创建数据库就是要为其指定数据库名、数据⽂件和⽇志⽂件。

a) create database 数据库名;例:create database mydb;数据⽂件和⽇志⽂件存放在默认⽂件夹数据库⽂件名为mydb.mdf,⽇志⽂件的名字为mydb.ldfb) 创建数据库的完整语句(⾃⼰定义数据⽂件和⽇志⽂件的位置)create database mydbon(name='mydb123',filename='C:\mydb.mdf',--数据⽂件保存位置size=10,--数据库初始⼤⼩以M 为单位maxsize=50,--数据库⼤⼩的最⼤值filegrowth=5 --当数据库数据⼤⼩超过默认值,每次增长的⼤⼩)log on(name='mydb_ldf',filename='C:\mydb_log.ldf',size=5,maxsize=50,filegrowth=5);2) 使⽤数据库use 数据库名;3) 删除数据库drop database数据库名;1. 数据库的备份:将数据库⽂件⽣成⼀个本份⽂件(dat⽂件)backup database 数据库名 to disk=’路径’;backup database mydb to disk='D:\mmm.dat' with format;2. 数据库的还原:根据备份⽂件恢复数据库a) 查看备份⽂件的信息restore filelistonly from disk='D:\mmm.dat';b) 将数据库⽂件还原到备份前的位置restore database mydb from disk='D:\mmm.dat';c) 将数据库⽂件还原到指定位置restore database mydb from disk='D:\mmm.dat'with move 'mydb' to 'F:\mydb.mdf',move 'mydb_log' to 'F:\mydb_log.ldf';三,模式(命名空间)1. 创建模式create schema 模式名 authorization 登录名;例:create schema model01 authorization sa;2. 删除模式a) 级联删除:如果模式中有表,先删除表再删除模式。

数据库SQL经典语句

数据库SQL经典语句

数据库SQL经典语句1.创建表:CREATE TABLE table_namecolumn1 datatype constraint,column2 datatype constraint,...2.插入数据INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);3.查询数据SELECT column1, column2, ...FROM table_nameWHERE conditionORDER BY columnLIMIT number;4.更新数据UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;5.删除数据DELETE FROM table_nameWHERE condition;6.创建索引CREATE INDEX index_nameON table_name (column1, column2, ...);7.删除索引DROP INDEX index_name ON table_name;8.修改表结构ALTER TABLE table_nameADD column datatype constraint;9.删除表DROP TABLE table_name;10.聚合函数(求和、平均值、最大值、最小值等) SELECT aggregate_function(column)FROM table_nameWHERE conditionGROUP BY column;11.连接表FROM table1INNER JOIN table2 ON condition;12.子查询SELECT column1, column2, ...FROM table1WHERE column IN (SELECT column FROM table2 WHERE condition);13.内连接SELECT column1, column2, ...FROM table1JOIN table2 ON condition;14.外连接SELECT column1, column2, ...FROM table1LEFT JOIN table2 ON condition;SELECT column1, column2, ...FROM table1RIGHT JOIN table2 ON condition;15.独立查询FROM table1WHERE EXISTS (SELECT column FROM table2 WHERE condition);16.分组查询SELECT column1, aggregate_function(column2)FROM table_nameWHERE conditionGROUP BY column1;17.排名查询SELECT column1, column2, ..., RANK( OVER (ORDER BY column DESC)FROM table_name;以上是一些数据库SQL经典语句,覆盖了创建、插入、查询、更新、删除、索引、表结构修改、聚合函数、连接表、子查询、内连接、外连接、独立查询、分组查询、排名查询等常见的操作语言。

sql server基本语句大全

sql server基本语句大全

SQL Server 是一种关系型数据库管理系统,它的基本语法包括以下几个方面:1. 创建数据库:使用`CREATE DATABASE` 语句来创建一个新的数据库。

例如:`CREATE DATABASE mydatabase;`2. 修改数据库:可以使用`ALTER DATABASE` 语句来修改数据库的属性,如大小、可用性、性能等。

例如:`ALTER DATABASE mydatabase SET RECOVERY SIMPLE;`3. 创建表:使用`CREATE TABLE` 语句来创建一个新的表。

例如:`CREATE TABLE customers (customer_id INT, first_name VARCHAR(50), last_name VARCHAR(50));`4. 修改表:可以使用`ALTER TABLE` 语句来添加、删除或修改表中的列。

例如:`ALTER TABLE customers ADD email VARCHAR(100);`5. 删除表:使用`DROP TABLE` 语句来删除一个表。

例如:`DROP TABLE customers;`6. 创建索引:使用`CREATE INDEX` 语句来为表中的列创建索引,以提高查询性能。

例如:`CREATE INDEX ix_customers_last_name ON customers (last_name);`7. 删除索引:使用`DROP INDEX` 语句来删除一个索引。

例如:`DROP INDEX customers.ix_customers_last_name;`8. 分组查询:使用`GROUP BY` 子句将结果集按照一个或多个列进行分组。

例如:`SELECT customer_id, SUM(amount) FROM ordersGROUP BY customer_id;`这些是SQL Server 中使用的基本语句,用于管理数据库和执行查询。

数据库建表sql语句

数据库建表sql语句

数据库建表sql语句
•1、使用CREATE DATABASE语句创建数据库最简单的方式,该方式只需要指定database-name参数即可,该参数表示要创建的数据库的名称,其他与数据库有关的选项都采用系统的默认值。

2、如果希望在创建数据库时明确指定数据库的文件和这些文件的大
小以及增长的方式,就需要了解CREATE DATABASE语句的语法。

3、在语法格式中,每一种特定的符号都表示特殊的含义。

使用
CREATE DATABASE语句创建数据库:1、打开【SQL Server
Management Studio】窗口,并连接到服务器。

选择【文件】→【新建】→【数据库引擎查询】命令或者单击标准工具栏上的【新建查询】按钮,创建一个查询输入窗口,在窗口内输入语句,创建“新建的数据1”数据库,保存位置为“C”。

2、单击【执行】按钮执行语句,如果执行成功,在查询窗口的【查询】中可以看到“命令以成功完成”。

的提示信息框。

在【对象资源管理器】窗口中书涮新,展开数据库节点就可以看到新建的数据了。

MySQL(MariaDB)常用SQL语句详解

MySQL(MariaDB)常用SQL语句详解

MySQL(MariaDB)常⽤SQL语句详解DDL(Data Definition Language)数据定义语⾔这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。

常⽤的语句关键字主要包括 create、drop、alter等。

数据库管理--删除数据库drop database if exits bookDB;--创建数据库create database bookDB;--修改数据库alter database bookDB charset=utf8;表的管理(主要是各种约束的管理)--表的创建create table bookInfo(book_id int auto_increment unique, --⾃增长,唯⼀约束author_id int,book_name varchar(10) not null, --⾮空约束book_price decimal(10,2) check (book_price>0), --检查约束(mysql中不⽀持检查约束,但是加上并不报错)book_shelf bit default 0, --默认约束primary key (book_id), --主键key fk_author (author_id), --外键详细写法constraint fk_author foreign key (author_id) references authorInfo(author_id)--foreign key (author_id) references authorInfo (author_id)--主外键的建⽴也可以直接在字段上⾯添加,这种写法是为了⽅便管理);-- 拿到数据创建⼀个表格create table bookInfo as select * from book_table;--创建临时表create temporary table if not exists book_table(....);--删除表drop table bookInfo;--重命名alter table bookInfo rename [to] book_info;--修改表(列的管理)--添加列alter table bookInfoadd column book_press varchar(20); --column关键字可以省略alter table bookInfoadd book_press varchar(20) after book_price; --指定位置alter table bookInfoadd (book_press varchar(20),book_date datetime); --批量添加--修改列类型alter table bookInfomodify book_press varchar(200);--修改列名(同时也可修改列的类型)alter table bookInofchange book_press bookPress varchar(25);--删除列alter table bookInfodrop column book_press;--修改表(约束的管理)--使⽤modify关键字可以更改数据类型,使⽤change关键字可以更改列名和数据类型--添加约束alter table bookInfoadd primary key (book_id); --添加主键alter table bookInfoadd modify book_id int primary key; --使⽤modify关键字alter table bookInfoadd constraint fk_author foreign key (author_id)references authorInfo(author_id) --添加外键alter table bookInfoadd constraint unique (book_id); --添加唯⼀约束alter table bookInfomodify book_shelf int default 0; --添加默认约束--删除约束alter table bookInfomodify book_shelf int; --删除默认约束alter table bookInfochange book_id book_id int; --去除auto_incrementalter table bookInfodrop primary key; --删除主键(先删除⾃增长)alter table bookInfodrop foreign key (fk_author); --删除外键--设置⾃增长值alter table bookInfo auto_increment=13;--设置表的字节编码alter table bookInfo character set='utf8';DML(Data Manipulation Language)数据操作语⾔主要⽤于添加、删除、更新和查询数据库记录,并检查数据完整性,常⽤的语句关键字主要包括 insert、delete、udpate 和select 等。

SQL语句基础教程

SQL语句基础教程

SQL语句基础教程SQL(Structured Query Language)是一种用于管理和操作关系数据库的编程语言。

它是一种标准化的语言,被广泛应用于数据库管理系统(DBMS)中。

1.数据库操作:- 创建数据库:CREATE DATABASE database_name;- 删除数据库:DROP DATABASE database_name;- 选择/切换数据库:USE database_name;2.表操作:- 创建表:CREATE TABLE table_name (column1 data_type, column2 data_type, ...);- 删除表:DROP TABLE table_name;- 修改表:ALTER TABLE table_name ADD column_name data_type;ALTER TABLE table_name DROP column_name;3.数据操作:- 查询数据:SELECT column1, column2, ... FROM table_name;- 插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);- 更新数据:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;- 删除数据:DELETE FROM table_name WHERE condition;4.条件查询:- 使用WHERE子句指定条件:SELECT column1, column2, ... FROM table_name WHERE condition;-支持的条件运算符:=,<>,<,>,<=,>=,LIKE,IN,BETWEEN,ISNULL,AND,OR,NOT等。

sqlite sql建表语句

sqlite sql建表语句

sqlite sql建表语句1. 创建学生表:CREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10),major VARCHAR(50));2. 创建课程表:CREATE TABLE course (id INT PRIMARY KEY,name VARCHAR(50),teacher VARCHAR(50),credit FLOAT);3. 创建成绩表:CREATE TABLE score (id INT PRIMARY KEY,student_id INT,course_id INT,score FLOAT,FOREIGN KEY(student_id) REFERENCES student(id), FOREIGN KEY(course_id) REFERENCES course(id));4. 创建部门表:CREATE TABLE department (id INT PRIMARY KEY,name VARCHAR(50),location VARCHAR(50));5. 创建员工表:CREATE TABLE employee (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10),department_id INT,FOREIGN KEY(department_id) REFERENCES department(id) );6. 创建订单表:CREATE TABLE orders (id INT PRIMARY KEY,customer_id INT,order_date DATE,total_amount FLOAT,FOREIGN KEY(customer_id) REFERENCES customer(id) );7. 创建产品表:CREATE TABLE product (id INT PRIMARY KEY,name VARCHAR(50),price FLOAT);8. 创建供应商表:CREATE TABLE supplier (id INT PRIMARY KEY,name VARCHAR(50),contact VARCHAR(50),address VARCHAR(100));9. 创建销售表:CREATE TABLE sales (id INT PRIMARY KEY,product_id INT,quantity INT,order_id INT,FOREIGN KEY(product_id) REFERENCES product(id), FOREIGN KEY(order_id) REFERENCES orders(id) );10. 创建文章表:CREATE TABLE article (id INT PRIMARY KEY,title VARCHAR(100),author VARCHAR(50),content TEXT,create_date DATE。

sql语句约束条件

sql语句约束条件

sql语句约束条件在 SQL 中,可以使用约束条件来定义对表中数据的限制规则。

常见的约束条件有以下几种:1. 主键约束(Primary Key Constraint):用于定义一个列或一组列作为表的主键,保证唯一性和非空性。

一个表只能有一个主键约束。

示例:CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(50), age INT);2. 外键约束(Foreign Key Constraint):用于定义表与表之间的关联关系,保证数据的完整性。

外部键约束要求一个表的列值必须在另一个表的主键列中存在。

示例:CREATE TABLE orders (order_id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers (customer_id));3. 唯一约束(Unique Constraint):用于保证指定列或一组列的值的唯一性,但可以允许空值。

示例:CREATE TABLE employees (employee_id INT, email VARCHAR(50) UNIQUE);4. 非空约束(Not Null Constraint):用于保证指定列不允许为空值。

示例:CREATE TABLE products (product_id INT,product_name VARCHAR(50) NOT NULL);5. 检查约束(Check Constraint):用于定义某列的取值范围或条件,使得插入或更新的数据必须符合指定的条件。

示例:CREATE TABLE customers (customer_id INT, age INT CHECK (age >= 18));这些约束条件可以在创建表时定义,也可以在已存在的表上进行修改。

sql使用教程

sql使用教程

sql使用教程SQL(Structured Query Language)是一种用于管理和操作关系型数据库的编程语言。

它是数据库管理系统(DBMS)的核心组件之一,被广泛应用于各种企业级应用程序和网站管理系统中。

SQL语言分为两种类型:数据定义语言(DDL)和数据操作语言(DML)。

DDL用于定义和管理数据库中的表结构,包括创建、修改和删除表、索引和约束等。

DML用于查询和修改数据库中的数据,包括插入、更新、删除和查询数据等。

在介绍SQL使用教程之前,需要了解数据库和表的基本概念。

首先,数据库是一个用于存储和管理数据的容器,可以将其想象为一个仓库。

表是数据库中的一种结构,类似于仓库中的存储区域。

每个表由表名和多个列组成,列定义了表中的各个属性。

每行数据表示表中的一个记录,每个记录都是由不同的列值组成的。

在使用SQL之前,需要确保已经安装了适当的DBMS软件,如MySQL、Oracle或SQL Server。

在数据库中创建表之前,需要首先创建数据库。

可以使用DDL语句“CREATE DATABASE”来创建数据库,例如:```sqlCREATE DATABASE mydatabase;```接下来,可以使用“USE”语句选择要使用的数据库:```sqlUSE mydatabase;```然后,可以使用DDL语句“CREATE TABLE”创建表。

表名可以自定义,并指定表中的列名和数据类型。

例如,下面的语句创建了一个名为“users”的表,包含“id”和“name”两列:```sqlCREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50));```表创建完成后,可以使用DML语句来插入、更新、删除和查询数据。

以下是一些常见的DML语句示例:插入数据:```sqlINSERT INTO users (id, name) VALUES (1, 'John');```更新数据:```sqlUPDATE users SET name = 'Mike' WHERE id = 1;```删除数据:```sqlDELETE FROM users WHERE id = 1;```查询数据:```sqlSELECT * FROM users;```除了基本的DDL和DML语句之外,SQL还提供了一些高级功能,如聚合函数、子查询、连接等。

sql常用语句大全

sql常用语句大全

sql常用语句大全以下是SQL中常用的语句:1. 查询语句:用于从数据库中检索数据。

- SELECT语句:用于从表中选择数据。

- FROM语句:用于从表中选择数据。

- WHERE语句:用于筛选数据。

- ORDER BY语句:用于排序数据。

- BY语句:用于对查询结果进行分组和排序。

2. 更新语句:用于更新数据库中的数据。

- UPDATE语句:用于在表中更新数据。

- WHERE语句:用于指定更新条件。

- SET语句:用于更新数据。

3. 删除语句:用于在数据库中删除数据。

- DELETE语句:用于从表中删除数据。

- WHERE语句:用于指定删除条件。

4. 创建语句:用于创建数据库、表、索引等。

-CREATE TABLE语句:用于创建一个表。

- AS语句:用于为表命名并提供别名。

- CONSTRAINT语句:用于为表创建约束条件。

5. 插入语句:用于向数据库中插入数据。

-INSERT INTO语句:用于向表中插入数据。

- VALUES语句:用于指定插入的数据。

6. 数据定义语句:用于定义数据库中的数据模型。

- PRIMARY KEY语句:用于为表创建主键。

- FOREIGN KEY语句:用于为表创建外键。

- KEY语句:用于为表创建索引。

7. 查询优化语句:用于优化查询性能。

- ANSI JOIN语句:用于连接两个表。

- NOT NULL语句:用于指定字段是否为非空。

- UNIQUE KEY语句:用于指定字段是否唯一。

8. 视图语句:用于简化复杂的查询。

- 视图定义语句:用于定义视图。

- 视图查询语句:用于查询视图中的数据。

9. 存储过程语句:用于执行复杂的操作并将结果存储回数据库中。

- 存储过程定义语句:用于定义存储过程。

- 存储过程执行语句:用于执行存储过程。

以上是SQL中常用的语句列表,SQL语句的使用可以极大地提高数据库的性能和灵活性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL之-建库、建表、建约束、关系SQL基本语句大全.txt举得起放得下叫举重,举得起放不下叫负重。

头要有勇气,抬头要有底气。

学习要加,骄傲要减,机会要乘,懒惰要除。

人生三难题:思,相思,单相思。

SQL之-建库、建表、建约束、关系、部分T-sql语句--建库 if exists(select * from sys.sysdatabases where name='wf') begin use master drop database wf end go create database wf on (name=N'wf',filename=N'E:\MyCode\ETC 收费站\ETC收费站\ETC_Data\wf.mdf',size=3mb,maxsize=unlimited,filegrowth=1)--建库if exists(select * from sys.sysdatabases where name='wf')beginuse masterdrop database wfendgocreate database wfon(name=N'wf',filename=N'E:\MyCode\ETC收费站\ETC收费站\ETC_Data\wf.mdf',size=3mb,maxsize=unlimited,filegrowth=1)log on(name=N'wf',filename=N'E:\MyCode\ETC收费站\ETC收费站\ETC_Data\wf_log.ldf',size=3mb,maxsize=unlimited,filegrowth=1)gouse wfgoif exists(select * from sys.sysobjects where name='wf' )begindrop table wfend--建表、建约束、关系use wfgocreate table tableok(col1 int,col2_notnull int not null,col3_default nchar(1) not null default('男'), --默认男col4_default datetime not null default(getdate()), --默认得到系统时间col5_check int not null check(col5_check>=18 and col5_check<=55), --添加约束,数据值在18到55之间col6_check nchar(9) not null check(col6_check like 'msd0902[0-9][^6-9]'), --添加约束,数据值前7位必须是‘msd0902’,倒数第两位可以是0-9中任意一个数字,最后一位不是6-9之间的数字。

cola_primary nchar(5) not null primary key, --建立主键colb_unique int unique, --唯一约束col7_Identity int not null identity(100,1), --自增长,从100开始,每列值增加1个col8_identity numeric(5,0) not null identity(1,1) --自增长,从1开始,每列值增加1个,最大值是5位的整数col9_guid uniqueidentifier not null default(newid()) --使用newid()函数,随机获取列值)--alter--主外键/引用/关系约束alter table 从表名 [with check]--启用 with nocheck--禁用约束add constraint FK_主表名_从表名foreign key (从表中的字段名) references 主表名 (主表中的字段名)--其它非主外键约束alter table wfadd constraint 约束名约束类型具体的约束说明alter table wf--修改联合主键add constraint Pk_cola_primary primary key(cola_primary,col1)---1.insert 【into】 <表名>【列名】 values <值列表>--1)全部【列名】可以省略insert stuinfo values('','','')create table outtable(id int not null primary key,[name] nvarchar(4) not null,adrress nvarchar(20) default '地址不详')truncate table outtablealter table outtable alter column id int identity(4,1)insert outtable values (1,22,'')insert outtable values(2,32,'')insert outtable values(3,33,'')--2)部分insert stuinfo (stuno) values ('')--3)自动增长列,不能手动插入。

将列名、列值省略---2多行插入---1)从一个现有表中取出所取字段插入到目标表中insert into stuinfo (stuno,stuname) select stuno,stuname from stumarksinsert into stuinfo(stuno) select stuno from stumarks---2)从现有的表中取出数据,创建一个新表,将数据插入到新表中select [列名] into <表名> from <源表名>select id as '编号',[name] into newtable from outtableselect cast(id as varchar(4))+cast([name] as nvarchar(4)) as '编号及姓名' ,id into newtable from outtableselect * from newtabledrop table newtable---3)union 现有的多个表中取数据放入现有的表3中insert into<表名3> [列名]select * from 表1 unionselect * from 表2--3.更新语句 update <表名> set <列名=更新值> [where <更新条件>]---注意:一般where不要省略,如不写将修改整个表--4truncate删除数据--比delete只能全部删除数据,不能部分删除,删除的效率高,可以重置自增长列select * from stumarksselect * from stuinfos--给考试成绩各提5分,100分封顶。

update stumarks set writtenexam=100where writtenexam>95update stumarks set labexam=100where labexam>95update stumarksset writtenexam=writtenexam+5where writtenexam+5<=100update stumarksset labexam=labexam+5where labexam+5<=100select examno,stuno,writtenexam+5 as 笔试,labexam+5 as 机试 from stumarks where writtenexam+5<=100 and labexam+5<=100create table t(id int ,name nchar(4),dt datetime,age int,score int)insert t values (1,'a',getdate(),20,50)insert t values (2,'b',getdate(),21,60)insert t values (3,'c',getdate(),21,100)insert t values (4,'d',getdate(),23,80)select * from tselect top 2 * from tselect top 60 percent * from tselect top 5 * from productsselect top 5 percent * from products--启别名:两种方式 As(可省略)、=select productid as '编号' from productsselect productid '编号' from productsselect '编号'=productid from productsselect employeeid from employees--declare @a nvarchar(6)--set @a='员工编号为:'select N'员工编号为:'+cast(employeeid as nvarchar(2)) from employeesselect distinct country from suppliers order by countryselect * from tselect * from productsselect * from products order by 4 asc,6 descselect * from products where unitprice>16 and productname like 'T%' or productid=16select * from suppliers where country in('japan','italy')(1)char、varchar、text和nchar、nvarchar、ntextchar和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。

相关文档
最新文档