mysql数据库之基本函数,列属性,数据库管理
目录
一,基本函数
二,列属性
三,数据库管理
一,数据的备份:
二,用户管理:
1,创建用户:
2,删除用户:
3,修改用户:
三,权限管理
一,基本函数
1、同时插入多条数据:
insert into stu (id, name,math,chinese,english) values (2,"zhangsan",56,78,68),(3,"李四",45,67,89);
2、去重:distinct
select distinct name from stu;
3、排序:order by (从小到大排序)
select * from stu order by english
select * from stu order by 11;
解释:by后面可以放字段名 也可以放第几列
select * from 表名 order by 列 desc;(从大到小排序)
4、数学统计:
avg()平局值
sum()求和
max()最大值
min()最小值
例:select min(english) from biaodan2; (最小值)
补充:count()统计数量
select count("sex") from xingxi where sex="男" or sex="女";
any() 函数 一条一条的执行 一个条件
select * from yuanxi_biao where id=any(select is_id from xingxi where addr="河北" and sex="女");
5、拼接
concat()将括号里面的参数进行合并处理,由多列变为一列
e:g 例: select concat(name,"-",math) from stu;
group_concat()将括号里面的内容合并处理,由多行变为一行
e:g 例: select group_concat(name,"-",math) from stu;
6、数据库动态查询:
查询一个表格中数据,但是限定条件由另外一个表格决定
数据包实列:
user:+------+-------+-----------+| id | uname | weapon_id |+------+-------+-----------+| 1 | 李白 | 1 || 2 | 后裔 | 2 || 3 | 小乔 | 3 |+------+-------+-----------+
weapon_name:+------+--------+| id | w_name |+------+--------+| 1 | 宝剑 || 2 | 弓箭 || 3 | 扇子 |+------+--------+
语句:
select w_name from weapon_name where id=(select weapon from user where uname="后裔")
7、限制查询结果显示数量:
例:
select * from user limit 3; //限制显示数据 只显示3行 默认从第一行开始向后显示3行
select * from user limit 3,2; //限制显示行数 从第3行向后显示2行
8、比较运算符/逻辑运算:> >= < <= and or
语句:
select * from stu where math>50 --查看数学成绩大于50的
select * from stu where math>50 and math<60 ; --查看数学成绩小于50 和 60之间的数
9、数据的模糊查询:
select english from stu where name like "%angsan" // %代表多个字符
select english from stu where name like "_angsan" // _代表单个字符
二,列属性
数据包实列:
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(11) | NO | | NULL | |
| name | char(16) | YES | | NULL | |
| sex | char(4) | YES | | 男 | |
+-------+----------+------+-----+---------+-------+解释:
type:数据类型
null:是否允许为空值yes:允许为空no:不允许为空在定义列属性的时候,在属性后面加上 not null举例:这是更改他的字段属性 也可以换成 在创建的时候写上 not null alter table 表名 modify 字段名 enum("男","女","保密") not null;举例——语法: 字段名 字段属性 not null
1,key:主键(PRI):
在一个表格中 具有唯一性 一个表格中只能设置 一个主键
主键的作用:设置为主键的字段 字段的值不允许重复使用, (一般情况下会将id设为主键)
添加主键的方式:
1,在创建表的时候,在要设置的字段后面添加上 primary key;例:create table 表名(id int primary key) ;
2,修改表的列属性:例:alter table 表名 add primary key 字段;
#主键添加失败:
1、要设置为主键的字段存在的重复值
2、表格中已经存在主键 也会导致设置主键失败
2,删除主键(PRI):
语法:
alter table 表名 drop primary key;主键自增长:只能在创建表的时候添加,在prinary key 后面添加一个自增属性 auto_increment 例:create table my_lie(id int auto_increment);删除自增长: alter table my_lie modify id int(11); (从新设置属性)
3,唯一键(UNI):unique key
作用:用来设置字段的不允许重复,
与主键的区别:在一个表格中可以有多个唯一键 但是唯一键没有自增功能
1.主键在一个表格中只能设置一个 唯一键可以有多个
2.设置为主键的字段不允许为空,默认值为0 但是唯一键不会影响null 和default
添加语法:(可以在创建表单的时候 在对应的字段属性后面添加 unique key)
alter table my_lie modify name char(16) unique key;
删除唯一键:
alter table 表名 drop index 唯一键字段的名(name);
4,default:默认值
在没有给字段添加数据的时候,该字段使用给定的默认值 如果用户添加了数据,则使用,用户添加的数据
定义默认值:
在定义 字段属性的时候,在属性的后面添加上 default “男”;
举例:
sex char(4)default “男”;
例:alter table my_lie modify sex enum("男","女","保密") default "男"; (modify 修改)
三,数据库管理
一,数据的备份:
1.数据库备份的形式:1.1:整库备份:前提:退出数据库 exit;备份:mysqldump.exe -hlocalhost -p3306 -uroot -proot 库名class11 > d:/备份到哪写路径 在写上备份的名字.sql(mysqldump.exe这是一个程序 -h 主机的名字 也可以写IP地址 -p 端口)删除库:drop database class11;使用备份库:退出数据库 mysql -uroot -proot class11(现有的库) <d:/备份的数据库在哪.sql1.2:单表备份:(只备份一个表)mysqldump.exe -hlocalhost -p3306 -uroot -proot 库名class11 备份的表名 > d:/my_bak.sql表的还原可以在数据库里进行:source d:/备份位置;(还原回来还是原来的表名)也可以按上面还原:mysql -uroot -proot class11(现有的库) <d:/备份的数据库在哪.sql1.3:多表备份:(前提要在同一个库里面)mysqldump.exe -hlocalhost -p3306 -uroot -proot 库名class11 备份的表名 表名 表名> d:/my_bak.sql
二,用户管理:
在mysql库里user表存放的就是用户信息:
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
解释:
命令:desc user;Host(主机名):User(用户): Password(加密过后的密码):
1,创建用户:
方法一,直接在user表表中插入数据(不建议)
方法二:基本语法:create user 用户名 indetifed by “密码”主机:用户名@主机名例:create user ‘user1’@‘localhost’ identified by ‘123456’;前提:创建用户涉及到权限问题 得用root才能更改create user 'user2'@'1.1.1.1' identified by '123456'create user 'user3'@'%' identified by '123456'create user ‘user4’@‘1.1.1.1/24’ identified create user user5 --既不指定ip,也不知道密码
2,删除用户:
直接操作表: drop user 用户名 例:drop user ‘user4’@‘192.168.%’;
3,修改用户:
修改用户:修改密码:基本语法:set password for 用户名 =password(’新密码‘)例:set password for ‘user1’@‘localhost’ = password(‘123456’);
三,权限管理
查看权限:show grants //查看登录用户的权限show grants for “用户名”@“主机地址 或者 IP地址”;
(一),数据库的权限分类:
1,数据权限:增insert 删dalete 改update 查select (对表的一个操作)
2,结构权限:create创建 drop删除
3,管理权限:create user创建用户 grant授权 revoke撤权
(二),权限管理 针对用户 针对某个库 针对某个表
授予权限:
基本语法:grant 权限列表(select) on 数据库.表单 to '用户'@'localhost || ip地址'解析:权限列表:1,多个权限的时候用,号分开2,all privileges 全部权限数据库名字:class11(库名).* (class11库所有的表)库名.表名 (这个库下的某个表单)*.* (所有库的所有表单)例子:使用管理员用户grant select,update(查看,更新) on calss11.user(库名.表名) to user3(用户@"ip || %");select * from userupdate user set name="亚索" where id=3;insert into user values (4 ,"小乔",5);
2,撤权:
基本语法:revoke 撤权列表 on 数据库.表名 from 用户名;例子:使用root用户revoke update(撤权列表) class11.user from user3;验证:update user name=“小乔” id=3; (发现改不了了)提示:如果在不同的机子上,给用户赋权或者撤权 不用重启登录 更改权限是立即生效的 有可能需要刷新一下cmd命令刷新:flush privileges;
mysql数据库之基本函数,列属性,数据库管理相关推荐
- 20141230 mysql数值类型和列属性二
20141230 mysql数值类型和列属性二 枚举字符串 枚举字符串指的是在定义之初就确定要存放的字符串有哪些,然后在数据进行存储的时候就只能存储已经定义过的字符串,只能使用任意的一个字符串.(单选 ...
- 20141230 mysql数值类型和列属性一
20141230 mysql数值类型和列属性一 回顾 数据库基础知识,关系型数据库(行/记录,列/字段,SQL) 基本SQL操作:库操作,表操作(字段)和数据操作 字符集 校对集 1. 什么是校对集? ...
- MYSQL学习笔记06:列属性[NULL,default,comment],主键,自增长,唯一键,数据库设计规范[范式(1NF,2NF,3NF),逆规范化],表关系[1V1,1VN,NVN]
列属性 列属性又称为字段属性. 在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自增长. NULL属性 NULL属性代表字段为空. 如果对应的值为yes表示该字段允许为null, ...
- PL/SQL 中修改数据库中的列属性
方法一: 鼠标选中表右键 直接(手动)去修改数据库名称,数据库表名称,数据库列名称.列属性 方法二: 使用SQL语句去修改 -- 修改表名 ALTER TABLE tableName RENAME n ...
- 服务器mysql数据库安装教程视频教程_MySQL数据库管理系统安装实际操作_MySQL教程视频 - 动力节点...
Step 9:选择mysql数据库的大致用途: Multifunctional Database(多功能数据库):选择诠选项,则同时使用InnoDB和MyISAM储存引擎,幵在两个引擎乊间平均分配资 ...
- mysql创建表属性引_【学习之Mysql数据库】mysql数据库创建表的属性详解
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name ...
- mysql数据库中邮箱的属性_MySQL——数据库的操作、属性
操作数据库 > 操作数据库中的表 > 操作数据库中表的数据 注意:mysql关键字不分区大小写 1.1.操作数据库 1.创建数据库 CREATE DATABASE [IF NOT EXIS ...
- mysql建表以及列属性
一.整型( int, tinyint, smallint 等 ) ------------------------------------------------------------------- ...
- MySql数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)...
查询表信息(表名/表描述): SELECT table_name name,TABLE_COMMENT value FROM INFORMATION_SCHEMA.TABLES WHERE table ...
- mysql数据库计算两列数据的和_在sql中对两列数据进行运算作为新的列操作
如下所示: select a1,a2,a1+a2 a,a1*a2 b,a1*1.0/a2 c from bb_sb 把a表的a1,a2列相加作为新列a,把a1,a2相乘作为新列b,注意: 相除的时候得 ...
最新文章
- python小结教学_python教学
- linux驱动模块命令大全insmod/rmmod/modprobe/depmod/lsmod
- 计算器java程序设计报告总体设计,java程序设计实验报告-计算器
- MIP 支付组件,支付流程:
- 持续集成 TeamCity 的配置与使用
- 2017.8.22区间最大值问题
- java 定义接口 xml_Java接口对接二(URL方式之xml,json,form)
- trackpoint_如何在戴尔笔记本电脑上禁用TrackPoint鼠标按钮?
- 软件测试中的黑盒与白盒测试
- 专家思维模型之马太效应
- matlab蚁群算法解决vrp过程,蚁群算法MATLAB解VRP问题
- Rxjava的背压策略
- 高德地图自定义点标记大小_自定义高德地图的标记样式和内容
- Ubuntu18.04安装opencv3.4.1和opencv_contrib3.4.1时遇到错误处理方法
- 关于.net介绍 /第一行C#代码 /什么是面向对象
- 10.IDEAD 的xml中配置DTD
- 在win10上如果使用slickedit + mingw编译代码和debug调试
- 使用python做FamaMacBeth回归
- 加拿大约克大学计算机本科学费,加拿大约克大学学费基本情况
- (附源码)ssm物流公司员工管理系统 毕业设计 261625
热门文章
- Vscode 如何配置debug
- 每日一字:biáng
- 62%中国AI毕业生赴美,机器学习人才最高产大学出炉 | 报告
- 田刚:庞加莱猜想与几何
- 华三计算机网络笔试题,软考网络工程师试题
- Q4财报净亏损8350.2万美元,Unity何时摆脱亏损“魔咒”?
- 苹果登陆qq邮箱服务器,iPad和iPhone如何登陆QQ邮箱 怎么设置
- html5桌面打开网页是有问号,点击HTML页面问号出现提示框
- DeepSORT的改进
- 计算机英语截短词,英语词汇构词法(Word Formation)——截短法