MySQL数据操做: DMLhtml
========================================================mysql
在MySQL管理软件中,能够经过SQL语句中的DML语言来实现数据的操做,包括sql
========================================================数据库
1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); 语法二: INSERT INTO 表名 VALUES (值1,值2,值3…值n); 2. 指定字段插入数据 语法: INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…); 3. 插入多条记录 语法: INSERT INTO 表名 VALUES (值1,值2,值3…值n), (值1,值2,值3…值n), (值1,值2,值3…值n); 4. 插入查询结果 语法: INSERT INTO 表名(字段1,字段2,字段3…字段n) SELECT (字段1,字段2,字段3…字段n) FROM 表2 WHERE …;
往一张表里插记录能够用select代替values,把查的结果直接传给表相应的字段,查出来的结果必须和表的字段一一对应。安全
语法: UPDATE 表名 SET 字段1=值1, 字段2=值2, WHERE CONDITION; 示例: UPDATE mysql.user SET password=password(‘123’) where user=’root’ and host=’localhost’;
更新mysql库下的user表,设置字段password=password('123'),用来将密码加密,where指定须要改掉密码的记录,用户为root且地址为localhost的记录。定位到记录后,把符合条件的password都进行修改。ide
语法: DELETE FROM 表名 WHERE CONITION; 示例: DELETE FROM mysql.user WHERE password=’’; 练习: 更新MySQL root用户密码为mysql123 删除除从本地登陆的root用户之外的全部用户
删除符合条件的一些记录用delete。工具
若是要删除整张表,能够用truncate。# 应该用truncate清空表,比起delete一条一条地删除记录,truncate是直接清空表,在删除大表时用它。测试
语法: truncate 表名; 示例: truncate student1;
单表查询:http://www.cnblogs.com/xiugeng/p/9028541.html加密
多表查询:http://www.cnblogs.com/xiugeng/p/9030720.htmlspa
受权:对文件夹,对文件,对文件某一字段的权限。受权操做只能经过root用户!!
查看帮助:help grant
经常使用权限有:select,update,alter,delete all能够表明除了grant以外的全部权限。
#受权操做只能经过root用户!!
set global validate_password_policy=0; set global validate_password_length=1; # 安全设置问题,查看这个:http://www.jb51.net/article/95399.htm 建立帐号: # 本地帐号 create user 'egon'@'localhost' identified by '1234'; # mysql -uegon -p123 # 远程帐号 create user 'egon'@'192.168.31.10' identified by '1234'; # mysql -uegon -p123 -h 服务端ip # 让一个网段内全部机器均可以登陆 create user 'egon'@'192.168.31.%' identified by '1234'; # 让全部能Ping通机器均可以登陆 create user 'egon'@'%' identified by '1234'; 受权级别 user:*.* 对全部库全部表 db:db1.* 对db1库里全部表 table_priv:db1.t1 对某一个表开放权限 columns_priv:id,name 对某一个字段开放权限 受权方法 # user级别 select * from mysql.user\G;能够查看受权状况 # 受权 grant select on *.*; 受权全部库全部表的select grant select on *.* to 'egon'@'localhost'; grant all on *.* to 'egon'@'localhost'; 受权对全部库下全部表的权限(all不包含grant权限) # 收回权限 revoke select on *.* from 'egon'@'localhost'; # db级别 select * from mysql.db\G;能够查看受权状况 # 受权 grant selcect on db1.* to 'egon'@'localhost'; # 收回权限 revoke select on db1.* from 'egon'@'localhost'; # table select * from mysql.tables_priv\G;查看受权状况 # 受权 grant select on db1.t2 to 'egon'@'localhost'; # 收回权限 revoke select on db1.t2 from 'egon'@'localhost'; # 字段级别 # 受权 grant select(id,name), update(age) on db1.t2 to 'egon'@'localhost'; # 字段的查看、字段的更新权限 # 收回权限 revoke select(id,name),update(age) from db1.t2 to 'egon'@'localhost';
在生产环境中操做MySQL数据库仍是推荐使用命令行工具mysql,但在咱们本身开发测试时,能够使用可视化工具Navicat,以图形界面的形式操做MySQL数据库
官网下载:https://www.navicat.com/en/products/navicat-for-mysql
网盘下载:https://pan.baidu.com/s/1bpo5mqj 须要掌握的基本操做 掌握: #1. 测试+连接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 #6. 备份库/表 #注意: 批量加注释:ctrl+?键 批量去注释:ctrl+shift+?键