最新消息:文章中包含代码时,请遵守代码高亮规范!

sql语句基础(原创)

杂项 Alex 73浏览 0评论

— 一:对数据库操作
— 增
— 增加数据库 create database 库名;
CREATE DATABASE day16;
— 增加数据库并指定字符集 create database 库名 default character set 码名;
CREATE DATABASE day16 DEFAULT CHARACTER SET gbk;

— 删
— 删除指定的库 drop database 库名;
DROP DATABASE day16;
— 该
— 修改指定库的字符集 alter database 库民 default character set 码名;
ALTER DATABASE day16 DEFAULT CHARACTER SET utf8;

— 查
— 查看所有数据库 show databases;
SHOW DATABASES ;
— 查看指定数据库 show create database 库名;
SHOW CREATE DATABASE day16;
— 二:对表进行操作
USE day15;
— 增:
— 添加表 create table 表名 (字段 类型,字段类型);
CREATE TABLE TEXT(id INT,NAME VARCHAR(20));
— 删:
— 删除表 drop table 表名
DROP TABLE TEXT;
— 该:
— 修改表名 alter table 表名称 rename 新的表名;
ALTER TABLE newtext RENAME TEXT;
— 查
— 查看该库所有表 show tables;
SHOW TABLES;
— 查看该库指定表 desc 库名;
DESC TEXT;

— 三 :表的字段的操作
— 增
— 在表中添加一个字段 alter table 表名 add column 字段 字段类型;
ALTER TABLE TEXT ADD COLUMN adreess VARCHAR(20);
— 删
— 在一个表中删除一个字段 alter table 表名 drop column 要删除的字段;
ALTER TABLE TEXT DROP COLUMN adreess;
— 改
— 在表中修改字段的名称 alter table 表名 channge column 旧的名 新的民 字段类型;
ALTER TABLE TEXT CHANGE COLUMN NAME newname VARCHAR(20);
ALTER TABLE TEXT CHANGE COLUMN newname NAME VARCHAR(20);
— 在表中修改字段的字段类型 alter table 表名 modify column 要该的字段 新的类型;
ALTER TABLE TEXT MODIFY COLUMN NAME VARCHAR(20);

— 四:对数据进行操作

— 插入数据(insert into)
— 插入数据 insert into 表名(字段,字段) values(值);注意:insert into 表名 values(值)默认全部字段添加
INSERT INTO TEXT (id,NAME) VALUE(2,’狗娃’);
— 删除数据 (delete from)
— 全部删除 delete from 表名 或者是 truncate table 表名;
DELETE FROM TEXT;
TRUNCATE TABLE TEXT;
— 条件删除
DELETE FROM TEXT WHERE NAME IS NULL;
— 修改数据(update)
— 批量修改 update 表名 set 字段=值 ;
UPDATE TEXT SET id=1;
— 条件修改 update 表名 set 字段=值 where 条件;
UPDATE TEXT SET NAME=’陈狗娃’ WHERE id=2;
— 五:查询数据12个 (select 字段 from)
— 查询所有的字段数据 select * from 表名;
SELECT * FROM TEXT;

— 查询指定的字段数据 select 字段1,字段2 from 表名;
SELECT id,NAME FROM TEXT;

— 查询时指定别名(as)select 字段 as 别名 from 表名;
SELECT id AS ‘编号’ FROM TEXT;

— 查询时添加常量列(as) select ‘常量列内容’ as ‘常量列名称’ from 表名;
SELECT ‘品种’ AS ‘人’ FROM TEXT;

— 查询时合并(+) select (字段1+字段2) as ‘名称’ from 表名;
SELECT NAME ,(mysql+servlet) AS ‘总分’FROM TEXT;

— 查询时去重(distinct)
SELECT DISTINCT adress FROM TEXT;

— 条件查询(where)
— 逻辑条件:and or
SELECT * FROM TEXT WHERE id=1 AND NAME=’狗蛋’;
SELECT * FROM TEXT WHERE id=1 OR NAME=’铁蛋’;
— 判断条件:> < >= <= <> between and
SELECT * FROM TEXT WHERE id>1;
— 判空条件:1)null:is not null is null 2)” =” <>”
SELECT * FROM TEXT WHERE NAME IS NULL;
SELECT * FROM TEXT WHERE adress=”;
— 模糊条件:like 注意:%代表任意个字符 _代表一个字符

— 聚合查询(max(字段) min(字段) count(字段) avg(字段))
— count(字段) 一般我们字段写*,原理是count每个字段取最大值,注意字段有值为null我们不计算该数的
SELECT COUNT(*) FROM TEXT WHERE ;

— 分组查询(group by())
— 步骤 先分组 在查询
— 需求统计每个地区人数
SELECT adress , COUNT(*) FROM TEXT GROUP BY adress;
— 需求统计每个地区mysql分数大域80的人数
— 注意:当查询需要条件判断时必须放在分组前,且条件必须在分组前就存在
SELECT adress ,COUNT(*)FROM TEXT WHERE mysql>=80 GROUP BY adress;

— 分页查询(limit 开始,结束)
SELECT * FROM TEXT LIMIT 0,4;
— 注意开始是0,意味着1的下标是0

— 排序查询( order by 注意:desc降序 asc升序)
— 注意:1)不指定排序是默认插入顺序2)指定排序时排序的方式不写默认asc
SELECT * FROM TEXT ORDER BY mysql ;

— 查询后刷选(having)
— 需求 查询那些地区人数大于等于二
SELECT adress ,COUNT(*) FROM TEXT GROUP BY adress HAVING COUNT(*)>=2 ;

转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/22670.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Alex的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!