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的基础知识