您的位置:首页 > 数据库 > MySQL

mySql部分总结

2015-06-14 00:09 543 查看

总结:

 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

注:必须先创建数据库名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql