mysql基本操作
来源:互联网 发布:淘宝首页店招 编辑:程序博客网 时间:2024/06/09 17:36
MDB:(增删减查)
mysql对于命令时不区分大小写的。
1,安装mysql:
yum install community-mysql-server -y
2,进入mysql
-> mysql
3,创建一个数据库
create database name;
4,创建一张表
create tabel tablename
(
firstColname VARCHAR(20), #这是第一列的列名
secColname VARCHAR(10) #这是第二列的列名 varchar是可变的数据类型
);
常用的数据类型:
char:单引号
character:单引号
dec(decjmal):不需要引号
datatime:必须用引号
time:必须用引号
timestamp:必须用引号
varchar:必用单引号
int(intecer):不用引号
blob:必用单引号
date:必用单引号
5,删除一张表
drop tablename
6,从表中搜索内容
select * from tableName # *是返回表中所有列
where first_name = "Anne"; #搜索first_name列中值等于Anne的那一行
7,插入信息
insert into table_name
(row_name)
values
(row_values);
这里的插入信息后面先表明要插入那些列(即可以增加列),后面values表明这些列对应的值
8,插入新的列
insert into table_name
(row_name)
9,选定特定的列
select row1 row2 row3 from table_name
where fisrt_name = "Anne";
选定Anne那一行后,只是显示row123列,其他列的内容不显示。
10,结合查询
select row1 row2 from table_name
where type = 'plant"
and
rating = 10;
只有符合type=plant和rating=10这个两个条件的行才被选中。
select row1 row2 from table_name
where type = 'plant"
and
rating < 10;
只有符合type=plant和rating小于10这个两个条件的行才被选中。
运算符号:
=: 等于
<>:不等于
<:小于
>:大于
<=:小于等于
>=:大于等于
11,结合查询
select row1 row2 from table_name
where type = 'plant"
or
rating < 10;
符合type=plant和rating小于10这两个条件中的一项的的行被选中。
12,like
select *from table_name
where location like '%ac';
反向选择:
select *from table_name
where no location like '%ac'
and not
data_time like '%b';
这里的%是通配符,意思是查找再location列中所有以ca结尾的值
通配符:
% :表示任意数量的未知字符的替身
_ :表示一个未知字符的替身
13,between 范围选择
select drink_name from drink
where
calories between 30 and 60; 选择卡路里再30到60范围之间的饮料
反向选择:
select drink_name from drink
where no
calories between 30 and 60;
14,多项选择 in
select number from num_name
where
num in ('1','2','3','5');
选择num等于1235的行。
当然了也可以 not in
15,删除语句
delete from table_name
where
actives = 'dancing';
删除actives=dancing的行。
16,删除所有行
delete from table_name;
17,updata再原来的基础上进行更新操作
updata table_name
set type = 'glazed'
where type = 'plant glazed';
这就句话是先选中type=plant glazed的那一行,之后再把type的值修改位glazed
18,添加主键
alter table table_name
add column contract_id int not null auto_increment first,
add primary key(contract_id);
增加新的一列,名字为contract_id,并增加主键。
first关键字表示把这列放入到第一列。
类似的位置关键字还有:
second,third,fourth,fifth,before,after
去除主键列:
ALTER TABLE you_table DROP PRIMARY KEY;
19,change
可同时改变现有列的名称和数据类型。
ALTER TABLE project_list
CHANGE COLUMN number proj_list INT NOT NULL AUTO_INCREMENT
ADD PRIMARY KEY (proj_list);
修改列number名字为proj_list,设置为auto_increment,并设置为主键.
一次修改多行:
ALTER TABLE project_list
CHANGE COLUMN descriptionofproj proj_desc VARCHAR(100),
CHANGE COLUMN contractoronjob con_name VARCHAR(30);
把descriptionofproj名字修改为proj_desc,并修改类型为VARCHAR(100)
把contractoronjob修改为con_nameg并修改类型为 VARCHAR(30)
20,modify
修改现有列的数据类型或位置。
ALTER TABLE project_list
MODIFY COLUMN proj_list VARCHAR(120);
21,add
再当前表中添加一列---可以自选类型。
ALTER TABLE project_list
ADD COLUMN con_id VARCHAR(100),
ADD COLUMN con_phn DATE,
ADD COLUMN est DECJMAL(7,2);
增加新的列
22,drop
从表中删除某列。
ALTER TABLE project_list
DROP COLUMN start_date;
23,describe可以查看这个表的构成,会说明此列是否是主键,并且告诉我们每列存储的 数据类型
24,修改表的名字
alter table prjname
rename to prjname_list;
把表的名字从prjname修改为prjname_list.
25,RIGHT LEFT
select right(location,2) from my_contacts;
从表my_contacts的location列的右端提取两个字符。
26,substring_index
select substring_index(location,',',1) from my_contacts;
substring_index选择列location中符号','之前的字符串。
27,字符串操作函数
1)substring(your_string,start_postion,length):从your_string中的start_postion提取length个字符。
select substring('san antonio,tx',5,3);
2) upper(string)可以把字符串转换为大写
3) lower(string)把整个字符串n转换为小写
4) ltrim(string) 清除字符左侧的多于空格,并返回字符串
5) rtrim(string) 清除字符右侧的多于空格并返回字符串
6) length(string) 返回字符串中的字符数量
28,case使用
UPDATA my_table
SET new_column =
case
WHEN column1 = somevalue1
THEN newvalue1
WHEN column2 = somevalue2
THEN newvalue2
ELSE newvalue3
END;
29,排序
select title,category
from move_table
where
title LIKE 'A%'
AND
category = 'family'
ORDER BY title;
30,计算SUM
select SUM(sales)
FROM cookie_sales
WHERE first_name = 'Nicole';
计算first_name为Nicole的所有的sales的列的总和。
31,分组
SELECT first_name,SUM(sales)
FROM cookie_sales
GROUP BY first_name
ORDER BY SUM(sales) DESC;
32,平均数
SELECT first_name,AVG(sales)
FROM cookie_sales
GROUP BY first_name
33,最大值
SELECT first_name,MAX(sales)
FROM cookie_sales
GROUP BY first_name
34,最小值
SELECT first_name,MIN(sales)
FROM cookie_sales
GROUP BY first_name
35,计算数量
SELECT first_name,COUNT(sales)
FROM cookie_sales
GROUP BY first_name
37,去除重复
SELECT first_name,DISTINCT sales_date
FROM cookie_sales
GROUP BY first_name
38,限制最后打印的数量
SELECT first_name,SUM(sales)
FROM cookie_sales
GROUP BY first_name
ORDER BY SUM(sales) DESC
LIMIT 2;
最后只是打印前两条成绩。
39,限制打印的范围
SELECT first_name,SUM(sales)
FROM cookie_sales
GROUP BY first_name
ORDER BY SUM(sales) DESC
LIMIT 1 2;
这里的limit表示从第二个开始输出(mysql从0开始计数),输出两个记录。
40,修改密码
set password for 'root'@'localhost'=password('123456');
root :代表要修改密码的用户
localhost: 表示安装mysql的机器
123456 :表示为用户设置的密码
41,添加新用户
create user elsie
identified by '123456';
42,授予权限
grant select on table_name to elsie;
让elsie有对table_name的select权限。
43,特殊权限
grant select on table_name to elsie with grant option;
让elsie有对table_name的select权限,并且可以把权限赋与别人。
44,撤销权限
revoke select on table_name from elsie;
把elsie对table_name的select权限收回。
45,撤销特殊权限
revoke with grant option on select on table_name to elsie ;
让elsie仍有对table_name的select权限,但是不可以把权限赋与别人。
46,精确撤销权限
revoke select on table_name from elsie CASCADE;
elsie有把权限给别人,如果已经给了别人,那么此时去除权限时,哪个被elsie赋与select权限的账户的select权限也就没有了。
revoke select on table_name from elsie RESTRICT;
elsie有把权限给别人,如果已经给了别人,那么此时去除权限时,就会报错。
47,创建角色
create role data_entry;
48,赋与角色权限
grant select,insert on table to data_entry;
使用角色:
grant data_entry to doc;
卸除角色
drop role data_entry;
49,可以把角色授予他人的权限
grant data_entry to doc WITH ADMIN OPTION;
类似与with grant option;
50,撤销角色
revoke data_entry from doc CASCADEL
这个就类似与去除权限时的操作,导致被doc赋与角色的人的角色也没有了。
revoke data_entry form doc RESTRICT;
这个就类似与去除权限时的操作,如果doc用户赋与别人角色了,那就报错。
- MySQL的基本操作
- Mysql 基本操作
- mysql基本操作
- Mysql的基本操作
- Mysql 基本命令操作
- mysql基本操作
- MySQL的基本操作
- MySQL常用操作基本
- MySQL基本操作
- MySQL基本操作
- MySql数据库基本操作
- MySQL 安装 (基本操作)
- MySQL基本操作(控制台)
- mysql 基本操作函数
- MySQL的基本操作
- MySql 基本操作
- mysql操作基本命令
- MySQL 基本操作命令
- APP 上线 -在 iTunes Connect创建你的 App
- Eclipse使用JRebel插件实现热部署
- C#解决串口通信中接收数据时延迟处理与缓存处理的方法
- 推箱子一关(熟悉的一关)
- Android开发艺术探索读书笔记(第二章)
- mysql基本操作
- 重新认识二级指针(Pointers to Pointers)
- GitHub使用记录一:中文乱码问题
- 关于动物的抽象模拟器
- 顺序查找的java、python、go语言的实现
- Android7.0 View.post与Handler.post
- pat 1004---简单的建树+层次遍历
- 文章标题
- Python之异步IO( asyncio) 协程