01-SQL语言
来源:互联网 发布:大数据的实践包括哪些 编辑:程序博客网 时间:2024/05/24 02:19
1-SQL是与关系型数据库交互的一种语言 DBMS是管理数据库de数据库管理系统
1.DDL: (Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;(创建、删除、修改),create、drop、alter. 2.DML: (Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);(增、删、改),insert、delete、update. 3.DQL: (Data Query Language):数据查询语言,用来查询记录(数据);select. 4.DCL: (Data Control Language):数据控制语言,用来定义访问权限和安全级别;grant、commit、rollback.使用注释:1. 单行注释 create database txt; --创建txt数据库 2. 多行注释 /* create database txt create database txt */
2-对数据库、对表操作-DDL
1.create database txt; //创建txt数据库2.show databases; //查看所有数据库3.use txt //切入到txt数据库4.drop database txt; //删除txt数据库* 常用的数据类型: int 整数 age int double 小数 score double(4,2) char 定长字符串 gender char(10) "呵呵" varchar 变长字符串 name varchar(20) "张三" date 日期类型 birthday date 1999-11-11 TIMESTAMP 时间戳类型 regist_time TIMESTAMP 2016-08-29 15:05:33 * 如果给该字段赋值为null,则默认使用当前系统的时间赋值* 完整性约束: * 主键约束: * 主键自增长: * 非空约束 * 唯一约束: CREATE TABLE student( sid INT PRIMARY KEY AUTO_INCREMENT, -- 主键约束(非空且唯一) sname VARCHAR(20) UNIQUE,-- 唯一约束 gender CHAR(1) NOT NULL -- 非空约束 );1.创建表: CREATE TABLE student( 字段名 数据类型 sid INT , sname VARCHAR(20), gender CHAR(1), score DOUBLE(4,2), birthday TIMESTAMP );2.查看表: show tables; //查看所有表 desc user; //查看user表字段、结构3.修改表 1.添加列:给stu表添加classname列: ALTER TABLE stu ADD (classname varchar(100)); 2.修改列类型:修改stu表的gender列类型为CHAR(2): ALTER TABLE stu MODIFY gender CHAR(2); 3.修改列名:修改stu表的gender列名为sex: ALTER TABLE stu change gender sex CHAR(2); alter table user rename column 旧列名 TO 新列名;//改列名 4.删除列:删除stu表的classname列: ALTER TABLE stu DROP classname; 5.修改表名称:修改stu表名称为student: ALTER TABLE stu RENAME TO student;4.删除表:drop table user00; //删除user00表
3-对表中数据-增删改-DML
1.insert into user(name,age,content) values('ll','19','0000');2.delete from user where id=3; //删除id=3的数据. id in(1,3,5); //删除id=1、3、5的数据. id<=3 and id>=5; //删除id小于等于3,和大于等于5的数据. id between 3 and 5; //删除id在3~5之间的数据. 清空表中所有数据:TRUNCATE TABLE tb_student; -- 先删除表,再创建表3.update user set name="baby",sex="gil" where id=3; //将id=3的name改成baby,sex改成gil.
4-对表中数据-查询-DQL
语法:SELECT selection_list /*要查询的列名称*/ FROM table_list /*要查询的表名称*/ WHERE condition /*行条件*/ GROUP BY grouping_columns /*对结果分组*/ HAVING condition /*分组后的行条件*/ ORDER BY sorting_columns /*对结果排序*/ LIMIT offset_start, row_count /*结果限定*/模糊查询:like 通配符: _:代表单个任意字符 %: 代表多个任意字符排序:order by 升序:order by 字段名 [asc]; 降序:order by 字段名 desc;聚合函数 聚合函数是用来做纵向运算的函数: COUNT():统计指定列不为NULL的记录行数; MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算; MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算; SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0; AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0; select count(*) from user; //统计表行数 sum(age);//求和 avg(age);//平均数 max(age)://最大值 min(age)://最小值1.select * from user where id=2; //查找id为2的所有数据2.select * from user where id between 3 and 5; //查找id在3和5之间的所有数据3.select * from user where id in(1,3,5); //查找id为1、3、5的所有数据4.select * from user where sex like "%o%"; //查询sex中包含o的数据5.select name,pass from user where id=2;//查询特定列(name,pass)id=2的数据.6.select distinct name from user; //查询除去表中name重复值的数据7.select * from user order by name desc; asc升序 //根据name排序从大到小,即降序8.使用limit限定输出个数:(各DBMS不同) select * from user order by age desc limit 1,3; //第二个位置取3个 select * from user order by age desc limit 5; //第一个位置取5个即0,5;
5-多表查询
一、多表查询 简言之,根据特定的连接条件从不同的表中获取所需的数据二、多表查询语法: SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column1 = table2.column2; 但要注意where 不要省了,省略where 即为笛卡尔集,而且where 条件要有效, 两张表间有一个相同的字段,才好进行有效的多表查询 查询时列名前,加表名或表别名前辍(如果字段在两个表中是唯一的可以不加) 为了简化SQL书写,可为表名定义别名,格式:from 表名别名 如:from emp e,dept d 建议使用表的别名及表前缀,使用表别名可以简化查询,而使用表前缀则可以提高查询性能 例:查询每个员工的工号,姓名,工资,部门名和工作地点 select empno,ename,sal,dname,loc from emp,dept where emp.deptno=dept.deptno;
阅读全文
0 0
- 01-SQL语言
- SQL 语言
- SQL语言
- SQL语言
- SQL语言
- SQL语言
- SQL语言
- SQL 语言
- SQL 语言
- sql语言
- sql 语言
- SQL 语言
- SQL语言
- SQL语言
- SQL 语言
- SQL语言
- SQL语言
- SQL语言
- 快速字符串模糊匹配--基于Horspool的模糊匹配算法
- 数学家破解婚恋网站配对程序,90天找到灵魂伴侣
- 爬虫 Python安装Scrapy库报错:Unable to find vcvarsall.bat
- weex学习之路(二)---组件封装(3)--图片上传
- Ubuntu 永久修改主机名
- 01-SQL语言
- ABAP: Excel
- Java API
- Element.requestFullScreen() -- 全屏显示
- 文章标题
- Remote connection by VNC in CentOS 7
- RTF文件格式研究报告
- theano学习--conv2d
- Java基础-修饰符