MySQL语句整理

1.查看数据库: show databases;


eg:

2. 创建一个数据库: create database +数据库名称 ;

eg:


3.进入某一数据库:use+数据库名称;

eg:


4.查看数据库中所有的表:show tables;


5.查看某一张表中的数据: select * from +表名;

eg:

如果只需要查看指定的数据:SELECT 列名1,列名2... FROM 表名 ;

eg:select id,name from student;


6.查看数据表结构:describe +表名;

eg:



7.创建一张表:

CREATE TABLE 表名 (字段名 字段类型,字段名 字段类型... ...) ;
eg:create table student(id int(10), name  varchar(20));
一般来说我们在字段中都会带有一个int类型的id值。用于今后的数据操作。

8.删除表:DROP TABLE 表名;

9.修改表中数据:
重命名表名:
ALTER TABLE 表名 RENAME 新表名;
向表中添加一列: 
ALTER TABLE 表名 ADD 字段名 字段类型 ;
删除表中一列: 
ALTER TABLE 表名 DROP COLUMN 列名 ;
修改表中一列的数据类型:
ALTER TABLE 表名 MODIFY 字段名 字段类型 ;
重命名表中某一列:
ALTER TABLE 表名 CAHNGE COLUMN 旧字段名 新字段名 新字段类型;

10.向表中插入数据:
全字段插入:
INSERT INTO 表名 VALUES(值1,值2,值3...) ;
部分字段插入:
INSERT INTO 表(列名1,列名3...) VALUES(值1,值3...);
eg:insert into student values(‘902’,‘张三’,‘中文系’);

11.WHERE关键字用于规定语句的执行条件。
SELECT * FROM 表名 WHERE 列名 = 某值 ;此为查询指定列名中为某值的所有数据的所有列数据。
eg:select * from student where id=902;

12.AND,OR运算符
 在WHERE条件中,我们可以使用AND或者OR来将条件结合起来使用。
 1.需要同时成立:
 SELECT * FROM 表名 WHERE 列1 = 值1 AND 列2 = 值2 ;
 2.其中一个成立的:
 SELECT * FROM 表名 WHERE 列1 = 值1 OR 列2 = 值2 ;
eg:select * from student where id=902 and name=张三;

13.IN关键字
IN允许我们在WHERE中规定多个值,用于搜索数据。
SELECT * FROM 表名 WHERE 列 IN (值1,值2,值3) ;
表示该列符合值1,值2,值3的数据都会返回。
当然这个查询语句也可以使用OR实现
SELECT * FROM 表名 WHERE 列1 = 值1 OR 列1 = 值2 OR 列1 =  值3 ;
select * from student where id in(‘902’,‘903’,‘904’);

14.排序
如果想要返回的结果按照升序或降序排列,可以使用ORDER BY关键字:
1. 升序
SELECT * FROM 表名 ORDER BY (排序所依照的)列名 ;
2.降序
SELECT * FROM 表名 ORDER BY  列名 DESC;
TIPS:如果排序所用列值一样,将会排在一起,然后以所查询的下一列的升序排列。
eg:select * from student order by id;


15.唯一值
在表中,可能有多行数据的同一列数据有同样的值,这样如果我们只查询此列的数据时,同样的值将会产生某些困扰
,此时我们可以使用DISTINCT关键字让我们的放回值不再重复。
SELECT DISTINCT 列名 FROM 表名 ;


16.TOP关键字
在表中我们查询的结果有时候,并不需要所有的数据,而只需要前几行数据,那么这个时候我们就可以使用
TOP关键字。
MYSQL不适用SELECT TOP 数量的写法,而使用LIMIT 数量。
SELECT * FROM 表名 LIMIT 需要返回的行数 ;
SELECT * FROM 表名 LIMIT 下标(从0开始数),需要返回的行数 ;

17.修改表中数据:
UPDATE 表名 SET 列名 = 新值 WHERE 列名 = 指定数据 ;
如果不带有条件限定将会导致此表所有数据的此字段都修改为新值。
eg:update student set id=911 where name = 张三;

18.DELETE  FROM 表名 WHERE 列名 = 某值 ;
删除该表符合条件的每一行数据。
不带有WHERE条件,将删除该表中所有数据。

19.模糊查询,使用较多,其实就是使用使用少量数据取匹配出我们要查询的数据。
如我要找带有‘on’字符串的单词,如‘LONDON’。
在SQLite语法中,我们要实现模糊查询,需要用到LIKE关键字和通配符。

20.通配符
在查询中,我们可以使用通配符去代替我们需要填入的字符。
1.%,用来匹配一个或多个字符。
2._ ,用来匹配仅一个字符。
3.[多个字符],用来匹配多个字符中的一个(MySQL不支持)。
4.[!多个字符],用来匹配非多个字符中的一个(MySQL不支持)。
TIPS:通配符与LIKE必须一起使用。

21.LIKE关键字
模糊查询,使用较多,其实就是使用使用少量数据取匹配出我们要查询的数据。如我要找带有‘on’字符串
的单词,如‘LONDON’。
在SQLite语法中,我们要实现模糊查询,需要学习:LIKE关键字和通配符。
SELECT * FROM 表名 WHERE 列名 LIKE '_n%' ;
查询这个表中此字段内,第二个字符为n的数据。

22.BETWEEN关键字
SELECT 列 FROM 表名 WHERE 条件列 BETWEEN 值1 AND 值2 ;
这样将查询出条件列中值在值1与值2之间的所有数据的指定列的值。
如果需要的是值1与值2以外的,我们可以在BETWEEN前加上NOT:
SELECT 列 FROM 表名 WHERE 条件列 NOT BETWEEN 值1 AND 值2 ;

23.别名的使用方法:
SELECT  表1的别名.列1 AS 列1的别名, 表2的别名.列3 AS 列3的别名 FROM 表1 AS 表1的别名, 表2 AS 
表2的别名 ; 


24.想要同时查询多个表,可以通过JOIN关键字来实现:
SELECT * FROM 表1 [INNER] JOIN  表2 ON 表1.id = 表2.id ;
如果表中有至少一个匹配,则返回行。

inner join---左右表都匹配就返回。
SELECT * FROM 左表 LEFT JOIN  右表 ON 左表.id = 右表.id ;
即使右表中没有匹配,也从左表返回所有的行。

left join---左表所有数据都要返回到结果集中。如果右表无法匹配的左表的数据,右表用NULL进行配对。
SELECT * FROM 左表 RIGHT JOIN  右表 ON 左表.id = 右表.id ;
即使左表中没有匹配,也从右表返回所有的行。

right join---右表所有行的数据都要返回,不管是否匹配。右表中无法再左表匹配的数据,左表用NULL填充。
SELECT * FROM 表1 FULL JOIN  表2 ON 表1.id = 表2.id ;
只要其中一个表中存在匹配,就返回行。




25.UNION关键字,联合,用于合并两个或多个SELECT语句的结果集。
(SELECT 列 FROM 表)
UNION [ALL]
(SELECT 列 FROM 表) 
要求:  1.两次查询的列数必须一样,类型相似。
2.union会自动去掉重复行,不想去掉就在UNION后面加上ALL。
3.如果句子中没有order by,limit,可以不使用(),order  by一定要和limit一起使用,否则无意义。

26.SQL约束:约束用于限制介入表的数据的类型。
   一、NOT NULL,NOT NULL约束该字段不能接受NULL值,也就是说如果不向此字段加入数据值,就无法插入新的    数据。
eg:CREATE TABLE 表名 (字段名  字段类型 NOT NULL) ;

   二、UNIQUE约束,用来标识这个字段的数据的唯一性,即防止重复。
eg:CREATE TABLE Persons (id int(10) NOT NULL,name varchar(50)UNIQUE (id));

   三、追加UNIQUE约束,UNIQUE约束还能使用ALTER TABLE语句加入表中,一个表中可以有多个UNIQUE指定的        列:
ALTER TABLE 表名 ADD UNIQUE(列) ;
向已存在的表中添加唯一约束时,需要注意这一列中是否已经有重复值,如果已经有重复值,将无法添加唯
一约束。

   四、PRIMARY KEY,主键,用于约束唯一标识数据库表中的每条记录。
使用要求:1.主键必须包含唯一的值。2.主键不能包含NULL值。3.每个表只能有一个主键。
PRIMARY KEY 主键的创建:
CREATE TABLE Person (id int NOT NULL,name VARCHAR(20),PRIMARY KEY (id));

   五、追加PRIMARY KEY约束:
PRIMARY KEYE约束还能使用ALTER TABLE语句加入表中:
ALTER TABLE 表名 ADD PRIMARY KEY(列) ;
删除主键约束:
ALTER TABLE 表名 DROP PRIMARY KEY ;

   六、FOREIGN KEY约束,外键约束,用来指向另一个表中的PRIMARY KEY。
外键用来预防破坏表之间连接的动作。也可以防止非法数据的插入因为外键必须是他指向的那个表的值之一。
eg:CREATE TABLE 表名(字段1 字段类型,字段2 字段类型,FOREIGN KEY(字段2) REFERENCES  表 2(表2的字段))

   七、追加FOREIGN约束:
FOREIGN约束还能使用ALTER TABLE语句加入表中,一个表中可以有多个FOREIGN指定的列:
ALTER TABLE 表名 ADD FOREIGN KEY(列) REFERENCES 表2(表2的列) ;
删除FOREIGN约束,需要外键约束(CONSTRAINT)
ALTER TABLE 表名 DROP FOREIGN KEY  外键约束 ;

   八、CHECK关键字:设定列的值的范围。
添加的方法:
CREATE TABLE 表名 (字段名 字段类型,...,CHECK (字段名0>=值)) ;
追加的方法:
单列:ALTER TABLE 表名 ADD CHECK(列>=值);
多列:ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(列>=值 AND 列<=值) ;
删除约束的方法:
ALTER TABLE 表名 DROP CHECK 约束名 ;

   九、DEFAULT关键字
DEFAULT关键字
设定的默认值。
1.我们MySQL会给这些列自动加一个默认值为NULL的默认值。
2.我们如果追加默认值会覆盖掉前面设定的默认值。
3.如果删除默认值,他是不会自动回到default NULL。而是没有了默认值,没有默认值那么我们插入数据的 时候就一定需要插入这一列的数据,这个数据也可以是NULL。
添加的方法:
CREATE TABLE 表名 (字段名 字段类型 DEFAULT 默认值,字段名 字段类型...)
追加的方法:
ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值 ;
删除约束的方法:
ALTER TABLE 表名 ALTER 列名 DROP DEFAULT  ;


   十、VIEW视图
约束用于限制介入表的数据的类型。
1.暴露部分数据给外部。
2.视图主要用于读取数据,因为插入数据要受到原来的表的限定。
3.视图实质上并不是一张表,尽管看起来一模一样,但是数据实质上市存在原来的表中的。
4.简化我们某些较为复杂的业务逻辑。

①创建View视图:
CREATE VIEW 视图名  AS  SELECT STATEMENT(查询语句) ;
②修改视图:(和我们创建的语句是一样)
CREATE VIEW 视图名  AS  SELECT STATEMENT(查询语句) ;
③删除视图:
DROP VIEW 视图名 ;




















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值