SQL是一种用于管理关系型数据库的编程语言。它可以用来创建和管理表、插入、更新和删除数据,以及执行你需要在创建数据库的语句写这么一句:AUTO_INCREMENT=1。表明自增数字从1开始。之后插入数据的sql语句就正常写就行了:insert各种查询和分析。
sqlinsert命令 sql的insert命令
sqlinsert命令 sql的insert命令
CREATE对于创建表的SQL命令,首先需要确定表的名称和列名,以及每个列的数据类型和限制条件。这些条件可以通过使用CREATE TABLE语句来定义。 TABLE语句还可以包括其他选项,例如PRIMARY KEY、FOREIGN KEY和UNIQUE约束,以及其他表级别设置。
当表被创建后,可以使用INSERT语句向表中添加数据。INSERT语句需要指定表名、列名和要插入的值。如果表中有约束条件,则必须遵守这些条件,否则插入将失败。
,可以使用SELECT语句执行各种查询和分析。SELECT语句可以从一个或多个表中检索数据,并且可以使用各种条件和函数对数据进行过滤和汇总。SELECT语句还可以使用JOIN作来将多个表连接起来。
总而言之,SQL是一种非常强大和灵活的语言,可以用于管理各种类型的关系型数据库。通过熟练掌握SQL,您可以轻松创建、管理和分析大规模的数据集,从而为您的工作和业务带来巨大的价值。
列举几个吧
1、显示当前数据库中的数据库列表:mysql> SHOW DATABASES;
2、建立数据库:mysql> CREATE DATABASE 库名;
3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
4、删除数据库:mysql> DROP DATABASE 库名;
5、删除数据表:mysql> DROP TABLE 表名;
6、将表中记录清空:muse xsysql> DELETE FROM 表名;
7、往表中插入记录:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名;
10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql;
可能在执行Execute()命令前,用了其他的ADO命令!如m_pRecordset->Open((LPTSTR)sqlStatement.GetBuffer(130),_variant_t(strDBConn),adOpenDynamic,adLockPessimistic,adCmdText);
1insert
into
Teachers(教师号,姓名,性别,年龄,参加工作年月,员,应发工资,扣除工资)
values('300008','杨梦','女',59,'66/04/22',yes,1600,210)
2delete
teachers
where
年龄<36
and
性别='女'
3update
teachers
set
应发工资=应发工资1.2
where
now-参加工作年月>25
4select
教师号,姓名,实发工资=应发工资-扣除工资
teachers
5select
人数=sum(教师号),平均工资=g(应发工资)
teachers
6select
教师号,姓名,实发工资=应发工资-扣除工资
teachers
where
参加工作年月<'90/01/01'
7select
工资=min(应发工资-扣除工资),工资=max(应发工资-扣除工资),平均工资=g(应发工资-扣除工资)
Teachers
where
性别='男'
select
工资=min(应发工资-扣除工资),工资=max(应发工资-扣除工资),平均工资=g(应发工资-扣除工资)
Teachers
where
性别='女'
8select
教师号,扩展资料:姓名
teachers
where
员=yes
order
by
年龄
desc
大概就是这个样子的,有问题楼主hi我
insert into Teachers ('300008','杨梦','女',59,'66/04/22','yes',1660,210)
delete from Teachers where 年龄<36 and 性别='女'
update Teachers set 应发工资=应发工资1.2 where year(getdate())-year(参加工作年月)>25
select 教师号,姓名,应发工资-扣除工资 as 实发工资 from Teachers
select 教师号,姓名,应发工资-扣除工资 as 实发工资 from Teachers where year(参加工作年月)<1990
select min(应发工资-实发工资) as 工资,max(应发工资-实发工资) as 工资,g(应发工资-实发工资) as 平均工资,性别 from Teachers group by 性别
select 教师号,姓名 from Teachers where 员='yes' order by 年龄
insert into A(sid,cid) sCREATE TABLE --创建一个数据库表elect sid,'111' from s where ...条件能看懂吧,其中111是你给定的cid的值,where条件自己写
一般有两种,一种是插入自己手动书写的数据,一种是来源于其他表的数据。
1、插入手动书写的数据一般语法是:
into
表名(字段1,字段2……)
valFROM empues
(内容1,内容2……);
举例:
into
sutdent(id,name,,class)
values
(1,'张三','男','一班');
2、插入的数据来源于其他表的一般语法是:
into
表名(字段1,字段2……)
select
内容1,内容2……
其他表;
举例:
into
sutdent(id,name,,class)
select
id,name,,class
tmp_student;
Insert是在指定记录之前添加记录,并将数据插入数据库中的指定位置。更新是修改记录或数据库模式,或根据原始数据生成新的关系模式和记录。delete命令用于删除数据库中不再需要保留的一组记录。删除标记数据库中的记录。
数据控制 GRANT(为用户授权)、REVOKE(废除权限)SQL语言特性:
1、SQL可以完成数据库生命周期中的所有活动,包括定义关系模式、记录数据、建立数据库、查询、更新、维护、数据库重建、数据库安全控制等一系列作,为数据库应用系统的开发提供了良好的环境。数据库投入运行后,可以根据需要的公式随时逐步修改模型。
2、高度非程序性。使用SQL进行数据作,用户不需要知道访问路径。系统自动完成访问路径的选择和SQL语句的作过程。这不仅大大减轻了用户的负担,而且提高了数据的性。
3、面向收集的作。不仅搜索结果可以是一组元组,而且单个insert、delete和update作的对象也可以是一组元组。
4、提供两种使用相同语法结构的方法。SQL不仅是一种自包含的语言,而且是一种嵌入式语言。作为一种的语言,它可以地用于在线交互。用户可以直接在终端键盘上输入SQL命令来作数据库。
参考资料来源:
INSERT --向数据库表添加新数据行
UPDATE --更新数据库表中的数据(修改)
DELETE --从数据库表中删除数据行
ALTER TABLE --修改数据库表结构
DROP TABLE --从数据库中删除表
方法一:添加:ADODC.Recordset.ActiveConnection.Execute = “insert into table1......”
我个人觉得用adodc最简单!
二:dim adorst as new adodb.recordset
adorst.AddNew
adorst.Fields("adminuser") = txtuser.Text
adorst.Fields("ma") = txtusertype.Text
adorst.Update
这个是我的“添加用户”例子,希望对你会有用:)
有不明白的可以问我啊
请参考
create,alter,drop
INSERT INTO 表 VALUES (Value1, Value2,....)
或者
INSERT INTO 表 (Field1, Field2,...) VALUES (Value1, Value2,....)
不能,使用update语句更新。
sql需要向数据表里添加数据,可以通过执行insert命令插入数据。
3)sys_context 获取环境上下文的函数(多用于应用INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
比如有一张"Persons" 表:
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
【二】SQL的基本函数
2.1 关系型数据库SQL命令类别
数据纵语言:DML: select; insert; delete; update; merge.
数据定义语言:DDL: create; alter; drop; truncate; rename; comment.
事务控制语言:TCL: commit; rollback; sepoint.
数据控制语言:DCL: grant; revoke.
2.2 单行函数与多行函数
单行函数:指一行数据输入,返回一个值得函数。所以查询一个表时,对选择的每一行数据都会返回一个结果。
SQL>select empno,lower(ename) from emp;
SQL>select sum(sal) from emp;
2.3 单行函数的几种类型
2.3.1 字符型函数
lower('SQL Course')----->sql course 返回小写
upper('sql course')----->SQL COURSE 返回大学
concat('good','string')---->good string 拼接 只能拼接2个字符串
substr('String',1,3)---->Str 从第1位开始截取3位数,
演变:只有两个参数的
substr('String',3) 正数第三位起始,得到后面所有字符
substr('String',-2) 倒数第二位,起始,得到所有字符
instr('t#i#m#r#a#n#','#') --->找个#字符在那个位置,得到的数值
Instr参数经常作为substr的第二个参数值
演变:Instr参数可有四个之多
如select instr('aunk','u',-1,1) from dual; 倒数个u是哪个位置,结果返回5
length('String')---->6 长度,得到的是数值
length参数又经常作为substr的第三个参数
lpad('first',10,'#39;)左填充
rpad(676768,10,'')右填充
replace('JACK and JUE','J','BL')---->BLACK and BLUE
trim('m' from 'mmtimranm')---->timran 两头截,这里的‘m’是截取集,仅能有一个字符
trim( ' timran ')---->timran 作用是两头去空字符
处理字符串时,利用字符型函数的嵌套组合是非常有效的:
create table customers(cust_name varchar2(20));
insert into customers values('Lex De Hann');
insert into customers values('Renske Ladwig');
insert into customers values('Jose Manuel Urman');
insert into customers values('Joson Malin');
select from customers;
CUST_NAME
--------------------
Lex De Hann
Renske Ladwig
Jose Manuel Urman
Joson Malin
一共四条记录,客户有两个名的,也有三个名的,现在想列出三个名的客户,且个名字用号略去
之一:
SELECT LPAD(SUBSTR(cust_name,INSTR(cust_name,' ')),LENGTH(cust_name),'') "CUST NAME"
FROM customers
WHERE INSTR(cust_name,' ',1,2)>0;
CUST NAME
------------------------------------------------------------------------------------------------------------------------
De Hann
Manuel Urman
分析:
先用INSTR(cust_name,' ')找出个空格的位置,
然后,SUBSTR(cust_name,INSTR(cust_name,' '))从个空格开始往后截取字符串到末尾,结果是个空格以后所有的字符,
,LPAD(SUBSTR(cust_name,INSTR(cust_name,' ')),LENGTH(cust_name),'')用LPAD左填充到cust_name原来的长度,不足的部分用填充,也就是将个空格前的位置,用填充。
where后过滤是否有三个名字,INSTR(cust_name, ' ',1,2)从个位置,从左往右,查找第二次出现的空格,如果返回非0值,则说明有第二个空格,则有第三个名字。
2.3.2 数值型函数
round 对指定的值做四舍五入,round(p,s) s为正数时,表示小数点后要保留的位数,s也可以为负数,但意义不大。
round:按指定精度对十进制数四舍五入,如:round(45.923, 1),结果,45.9
round(45.923, 0),结果,46
round(45.923, -1),结果,50
trunc 对指定的值取整 trunc(p,s)
trunc:按指定精度截断十进制数,如:trunc(45.923, 1),结果,45.9
trunc(45.923),结果,45
trunc(45.923, -1),结果, 40
mod 返回除法后的余数
SQL> select mod(100,12) from dual;
2.3.3 日期型函数
因为日期在oracle里是以数字形式存储的,所以可对它进行加减运算,计算是以天为单位。
缺省格式:DD-MON-RR.
可以表示日期范围:(公元前)4712 至(公元)9999
时间格式
SQL> select to_date('2003-11-04 00:00:00' ,'YYYY-MM-DD HH24:MI:SS') FROM dual;
SQL> select sysdate+2 from dual; 当前时间+2day
SQL> select sysdate+2/24 from dual; 当前时间+2hour
SQL> select sysdate+2/1440 from dual; 当前时间+2分钟
SQL> select (sysdate-hiredate)/7 week from emp; 两个date类型,结果是以天为整数位的实数。
①MONTHS_BETWEEN 计算两个日期之间的月数
SQL>select months_between('1994-04-01','1992-04-01') mm from dual;
很容易认为单行函数返回的数据类型与函数类型一致,对于数值函数类型而言的确如此,但字符和日期函数可以返回任何数据类型的值。比如instr函数是字符型的,months_between函数是日期型的,但它们返回的都是数值。
②ADD_MONTHS 给日期增加月份
SQL>select hiredate,add_months(hiredate,4) from emp;
③LAST_DAY 日期当前月份的一天
SQL>select hiredate,last_day(hiredate) from emp;
④NEXT_DAY NEXT_DAY的第2个参数可以是数字1-7,分别表示周日--周六(考点)
比如要取下一个星期六,则应该是:
SQL>select next_day(sysdate,7) FROM DUAL;
⑤ROUND(p,s),TRUNC(p,s)在日期中的应用,如何舍入要看具体情况,s是MONTH按30天计,应该是15舍16入,s是YEAR则按6舍7入计算。
SQL>SELECT empno, hiredate,round(hiredate,'MONTH') AS round,trunc(hiredate,'MONTH') AS trunc FROM emp;
SQL>SELECT empno, hiredate, round(hiredate,'YEAR') AS round,trunc(hiredate,'YEAR') AS trunc FROM emp;
2.3.4 几个有用的函数和表达式
1)DECODE函数和CASE表达式:
实现sql语句中的条件判断语句,具有类似高级语言中的if-then语句的功能。
decode函数源自oracle, case表达式源自sql标准,实现功能类似,decode语法更简单些。
decode函数用法:
SQL> SELECT job, sal,
decode(job, 'ANALYST', SAL1.1, 'CLERK', SAL1.15,'MANAGER', SAL1.20, SAL) SALARY FROM emp
decode函数的另几种常见用法:
SQL>select ename,job,decode(job,'MANAGER','中层干部') leader from emp;
SQL> select ename,job,comm,decode (comm,null,'nonsale','sale') saleman from emp;
注:单一列处理,共四个参数:含义是:comm 如果为null就取'nonsale,否则取'sale'
SQL> select sal,sign(sal-1500) from emp;
SQL> select ename,decode (sign(sal-1500), 1, 'NORMAL','LOW') as "LEV" from emp;
注:sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1,含义是:工资大于1500,返回1,真取'NORMAL',取'LOW'
CASE表达式种用法:
SQL> SELECT job, sal,
case job when 'ANALYST' then SAL1.10
when 'CLERK' then SAL1.15
when SYS_CONTEXT('USERENV','SID')'MANAGER' then SAL1.20
CASE表达式第二种用法:
SQL> SELECT job, sal, case
when job='CLERK' then SAL1.15
when job='MANAGER' then SAL1.20
以上三种写法结果都是一样的
CASE第二种语法比种语法增加了搜索功能。形式上种when后跟定值,而第二种还可以使用表达式和比较符。
看一个例子
SQL> SELECT ename,sal,case
when sal>=3000 then '高级'
when sal>=2000 then '中级'
else '低级' end 级别
再看一个例子:使用了复杂的表达式
SQL> SELECT AVG(CASE
WHEN sal BETWEEN 500 AND 1000 AND ='CLERK'
THEN sal ELSE null END) "CLERK_SAL"
from emp;
比较;
SQL> select g(sal) from emp where job='CLERK';
2)DISTINCT(去重)限定词的用法:
distinct貌似多行函数,严格来说它不是函数而是select子句中的一个选项。
SQL> select distinct job from emp; 消除表行重复值。
SQL> select distinct from emp; 消除重复记录
scott远程登录
SQL>select SYS_CONTEXT('USERENV','IP_ADDRESS') from dual;
--------------------------------------------------------------------------------
192.168.0.136
SQL> select sys_context('userenv','sid') from dual;
--------------------------------------------------------------------------------
129
SQL> select sys_context('userenv','terminal') from dual;
SYS_CONTEXT('USERENV','TERMINAL')
--------------------------------------------------------------------------------
TIMRAN-222C75E5
the end !!!
@jackman 共筑美好!
版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 836084111@qq.com 邮箱删除。