mysql常用知识点

  • 1、Linux环境下安装mysql
  • 2、启动关闭mysql
  • 3、数据库操作
  • 3.1、创建数据库
  • 3.2、查看数据库创建是否成功
  • 3.3、选择数据库
  • 3.4、删除数据库
  • 4、表操作
  • 4.1、创建数据表
  • 4.2、复制数据表
  • 4.2.1、只复制表结构到新表
  • 4.2.2、复制表结构及数据到新表
  • 4.2.3、可以拷贝一个表中其中的一些字段:
  • 4.2.4、 可以将新建的表的字段改名:
  • 4.3、查看数据表
  • 4.4、删除数据表
  • 4.5、添加、删除字段
  • 5、数据操作
  • 5.1、insert
  • 5.1.1、插入、添加
  • 5.1.2、拷贝
  • 5.2 delete
  • 5.3 update
  • 5.4、 select
  • 5.4.1、选择\查找
  • 5.5、WHERE
  • 5.5.1、WHERE 子句
  • 5.5.2、LIKE 子句\模糊匹配
  • 5.5.3、排序 order by/desc
  • 5.5.4、limit
  • 5.5.5、between
  • 5.5.6、in
  • 5.5.7、左连接、右连接、内连接
  • 6、常用函数
  • 6.1、 count
  • 6.2、 max/min
  • 6.3、avg
  • 6.4、sum
  • 7、课后练习


1、Linux环境下安装mysql

安装教程安装过程中出现报错的解决教程

Gpgcheck是GPG验证是否开启的选项,1是开启,0是不开启,一般情况可以关掉

2、启动关闭mysql

连接到本机上的MYSQL

mysql -u root -p

退出

exit (回车)

3、数据库操作

3.1、创建数据库

CREATE DATABASE 数据库名;

3.2、查看数据库创建是否成功

show DATABASES;

3.3、选择数据库

use 数据库名;

3.4、删除数据库

drop database 数据库名;

4、表操作

4.1、创建数据表

CREATE TABLE table_name (column_name column_type);

例如:

CREATE  TABLE  istester (
	id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,
	uname  VARCHAR(20)  NOT NULL ,
	sex  VARCHAR(4)  ,
	birth  YEAR,
	department  VARCHAR(20) ,
	address  VARCHAR(50) ,
	idoxu VARCHAR(20) 
);

4.2、复制数据表

CREATE TABLE targetTable LIKE sourceTable;
INSERT INTO targetTable SELECT * FROM sourceTable;

4.2.1、只复制表结构到新表

create table 新表 select * from 旧表 where 1=2

或者

create table 新表 like 旧表

4.2.2、复制表结构及数据到新表

create table新表 select * from 旧表

4.2.3、可以拷贝一个表中其中的一些字段:

CREATE TABLE newadmin AS
(
    SELECT username, password FROM admin
)

4.2.4、 可以将新建的表的字段改名:

CREATE TABLE newadmin AS
(  
    SELECT id, username AS uname, password AS pass FROM admin
)

4.3、查看数据表

show tables;

4.4、删除数据表

DROP TABLE table_name ;

同时删除多个数据表

drop table table_name1,table_name2 ;

4.5、添加、删除字段

add/drop

ALTER table istester add column istester6 VARCHAR(100) NOT NULL;
ALTER table istester drop istester6

5、数据操作

5.1、insert

5.1.1、插入、添加

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

5.1.2、拷贝

5.2 delete

delete from istester where id > 12;

5.3 update

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

5.4、 select

5.4.1、选择\查找

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

5.5、WHERE

5.5.1、WHERE 子句

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....

5.5.2、LIKE 子句\模糊匹配

ike 匹配/模糊匹配,会与 % 和 _ 结合使用。

‘%a’ //以a结尾的数据
‘a%’ //以a开头的数据
‘%a%’ //含有a的数据
a’ //三位且中间字母是a的
a’ //两位且结尾字母是a的
'a
’ //两位且开头字母是a的

查询以 java 字段开头的信息。

SELECT * FROM position WHERE name LIKE 'java%';

5.5.3、排序 order by/desc

默认升序排列,若降序需添加关键字desc
如:按id降序

select * from istester order by id desc;

默认升序:

select * from idoxu order by grade;

5.5.4、limit

例如:查找istester表,id 包含 “1” 的数据 ,取id最大的三个

select * from istester where id like ‘%1%’ order by id desc limit 3 ;

5.5.5、between

例如:查找idoxu表,成绩在80 - 100区间的学生 ;

select * from idoxu where grade between 80 and 100;

5.5.6、in

例如:查找istester表,id 为 2,11,12 的数据 ;

select * from istester where id in (2,11,12) ;

5.5.7、左连接、右连接、内连接

注意这三者的区别

#左连接 
SELECT * from idoxu6 a LEFT JOIN istester b on a.stu_id=b.id; 

#内连接 
SELECT * from idoxu6 a INNER JOIN istester b on a.stu_id=b.id; 

#右连接 
SELECT * from idoxu6 a RIGHT JOIN istester b on a.stu_id=b.id;

6、常用函数

6.1、 count

SELECT COUNT(ProductID) AS NumberOfProducts FROM Products;

例如:查询istester表,有性别类型数量(sex字段,去重

select COUNT(DISTINCT sex) from istester;

6.2、 max/min

SELECT MAX(Price) AS LargestPrice FROM Products;

6.3、avg

SELECT AVG(Price) AS AveragePrice FROM Products;

6.4、sum

SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;

7、课后练习

隔一段时间还是要review下以下网页练习mysql的基础知识