mySql部分总结



总结:
 1、mySql的关键字严格要求大写,但在window系统下不做要求;
 2、在对表进行操作的时候,一定先选择数据库;
  格式:USE 数据库名;
 3、命名时要注意不要使用关键字,如果想用关键字作为表名等,使用反引号(和~在一个key上)引起来。


【新增一个用户】
格式:
 grant select,insert,update,delete on 数据库.表名 to 用户名@登录主机 identified by "密码";
 grant all privileges on *.* to 用户名@登录主机 identified by "密码";
注:
 1、表名一般用“*”代替,表示对该数据库中的所有表有权限;
 2、对数据库的授权方式自定义,即“select,insert,update,delete”,或“all privileges”表示全部权限;
 3、如果要给该用户赋予全部数据库的权限,那就用“*.*”代替;
 4、登录主机为 localhost:代表本地主机,即MYSQL数据库所在的那台主机;
   “%”:代表网络内任意一台电脑;
 5、设置用户名不需要加引号,而设置密码需要;


【修改密码】
格式:
 mysqladmin -u用户名 -p旧密码 password 新密码

【显示相关】
1、[显示当前用户下可操作的数据库]
 格式:SHOW DATABASES;
2、[显示当前数据库中的所有表]
 格式:SHOW TABLES;
3、[显示当前数据库下指定表的建表信息]
 格式:SHOW CREATE TABLE 表名;
4、[显示当前数据库下表中的结构]
 格式:DESC 表名;
   或:DESCRIBE 表名;


【对数据库操作】
1、[创建数据库]
 格式:CREATE DATABASE 库名;
2、[删除数据库]
 格式:DROP DATABASE 库名;
3、[修改数据库字符集]
 格式:ALTER DATABASE 数据库名 CHARACTER SET 字符集名;
注:UTF-8在mysql中为utf8。


【对表的操作】
1、[创建表]
 格式:CREATE TABLE 表名 (
  字段名 VARCHAR(20) NOT NULL ATUO_INCREMENT PRIMARY KEY, #设定该字段不为空,自动增加,为主键
  字段名 CHAR(1),
  unique(字段名)#设定唯一
  );
2、[判断表是否存在再创建表]
 格式:create table if not exists students(……);
3、[删除表]
 格式:DROP TABLE 表名;
4、[将表中的记录清空]
 格式:DELETE FROM 表名;
5、[给表中全部字段或指定字段插入记录]
 格式:INSERT INTO 表名 VALUES("","");
   或:INSERT INTO 表名 (id) VALUES("");
注:要是给全部字段插入记录,括号中的数据要与表中字段的顺序一致;
6、[更新表中的数据]
 格式:UPDATE 表名 SET 字段名=修改值 WHERE 字段名=字段值;
7、[更改表名]
 格式:ALTER TABLE 原表名 RENAME 新表名;
8、[复制表]
 格式:CREATE TABLE 新表名 SELECT * FROM 旧表名;

【查询操作】
1、[显示表中的所有数据]
 格式:SELECT * FROM 表名;
2、[过滤重复数据]
 格式:SELECT DISTINCT 字段名 FROM student;
3、[使用别名显示数据]
 格式:SELECT 表别名.字段名 AS 字段别名 FROM 表名 表别名;
注:1、表别名是用来调用表中的字段的,字段别名是用来显示的;
    2、AS可以省略。
4、[筛选查询]
 格式: 查询英语成绩大于90分的同学
  SELECT * FROM student WHERE english>90;
  查询总分大于200分的所有同学
  SELECT * FROM student WHERE (chinese+english+math)>200;
  查询英语分数在 80-90之间的同学。
  SELECT * FROM student WHERE english BETWEEN 80 AND 90;
  SELECT * FROM student WHERE english>=80 AND english<=90;
  查询数学分数为89,90,91的同学。
  SELECT * FROM student WHERE math IN (89,90,91);
  查询所有姓李的学生成绩。
  SELECT * FROM student WHERE name LIKE '李%';
  查询数学分>80,语文分>80的同学。
  SELECT * FROM student WHERE chinese>=80 AND math>=80;
  对数学成绩排序后输出。
  SELECT * FROM student ORDER BY math;
  对总分排序后输出,然后再按从高到低的顺序输出
  SELECT name, chinese+english+math AS 总分 FROM student ORDER BY chinese+english+math  DESC;
  SELECT name, chinese+english+math AS 总分 FROM student ORDER BY 总分  DESC;
  对姓李的学生语文成绩排序输出
  SELECT * FROM student WHERE name LIKE '李%' ORDER BY chinese;

【数据库备份与恢复】
1、[备份数据库]
 格式:shell>mysqldump -h localhost -u root -p day14>day14.sql
注:MySQL导出的是一个文本文件

2、[恢复数据库]
 方式一:进入MySQL
 格式: USE day14;
  SOURCE d:/day14.sql

 方式二:不进入MySQL
 格式:mysql -u root -p day14<d:/day14.sql
注:必须先创建数据库名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值