一、数据库简介
1、Structured Query Language (结构化查询语言)
2、SQL:工业标准。(各个数据库厂商都支持)
SQL-Server:对标准进行了扩展。TSQL 方言
Oracle:对标准进行了扩展。PLSQL

规定:
shell>window下命令
mysql>mysql中的命令,一般以;结尾(进入数据库)

二、安装MySQL数据库
如何验证安装是否成功!
shell>mysql -u root -psorry
显示所有的数据库
mysql>SHOW DATABASES;
除了test,其他2个数据库不要动。
*****三、SQL语句
1、DDL:Data Definition Language(数据定义语言)
关键字:CREATE ALTER DROP(操作对象:数据库和表结构。就是定义数据库或表的结构)
------------------------------------------------------------------
创建一个名称为mydb1的数据库。
mysql>CREATE DATABASE mydb1;
查看数据库的创建细节
mysql>SHOW CREATE DATABASE mydb1;
创建一个使用gbk字符集的mydb2数据库。
mysql>CREATE DATABASE mydb2 CHARACTER SET gbk;
创建一个使用utf8字符集,并带校对规则的mydb3数据库。
mysql>CREATE DATABASE mydb3 CHARACTER SET utf8 COLLATE utf8_general_ci;
查看当前数据库服务器中的所有数据库
mysql>SHOW DATABASES;
查看前面创建的mydb2数据库的定义信息
mysql>SHOW CREATE DATABASE mydb2;
删除前面创建的mydb2数据库
mysql>DROP DATABASE mydb2;

查看服务器中的数据库,并把其中mydb1库的字符集修改为gbk;
mysql>ALTER DATABASE mydb1 CHARACTER SET gbk;
备份test库中的数据,并恢复

备份:
shell>mysqldump -h localhost -u root -psorry test>c:/test.sql
恢复数据库:(删除掉test数据库)
创建test数据库
mysql>CREATE DATABASE test;
mysql>USE test;
恢复:
方式一:
mysql>SOURCE C:/test.sql;
//选择数据库
mysql>USE test;
方式二:
shell>mysql -u root -psorry test<c:/test.sql

显示数据库中的所有表格
mysql>SHOW TABLES;
-------------------------------------------------
创建员工信息表
mysql>CREATE TABLE employee(
id int,
name varchar(100),
gender varchar(10),
birthday date,
entry_date date,
job varchar(100),
salary float(8,2),
resume varchar(200)
);
查看数据库中所有的表格
mysql>SHOW TABLES;
查看某张表格的结构
mysql>DESC employee;
在上面员工表的基本上增加一个image列。
mysql>ALTER TABLE employee ADD (image blob);
修改job列,使其长度为60。
mysql>ALTER TABLE employee MODIFY job varchar(60);
删除gender列。
mysql>ALTER TABLE employee DROP gender;
表名改为user。
mysql>RENAME TABLE employee TO user;
修改表的字符集为utf-8
mysql>ALTER TABLE user CHARACTER SET utf8;
列名name修改为username
mysql>ALTER TABLE user CHANGE name username varchar(100);

*2、DML:Data Manipulation Language(数据操作语言)
关键字:INSERT UPDATE DELETE(操作对象:表中的数据。就是操作表中的记录用的)
------------------------------------------------------------------
在MySQL中,字符或字符串或日期类型的数据要使用单引号引起来。关键字NULL表示空值,不同于空字符串值。''
使用insert语句向表中插入三个员工的信息。
mysql>INSERT INTO user (id,username,birthday,entry_date,job,salary,resume) VALUES (1,'huangshanshan','1992-09-08','2012-11-15','CEO','10000','beautiful girl');
mysql>INSERT INTO user VALUES (2,'niuyang','1992-09-08','2012-11-15','CTO','10000','beautiful boy');
mysql>INSERT INTO user VALUES (3,'于连林','1992-09-08','2012-11-15','CMO','10000','帅锅');
告诉服务器客户端用的编码是什么?
mysql>SET character_set_client=gbk;
查看数据
mysql>SELECT * FROM user;
解决返回的数据中文乱码
mysql>SET character_set_results=gbk;
MySQL中的各种编码:
查看有哪些地方用到编码
mysql>SHOW VARIABLES LIKE 'character%';
character_set_client:此变量通知服务器客户端用的是什么编码
character_set_connection:此变量通知服务器客户端链接时用的是什么编码
character_set_database:数据库用的编码
character_set_results:是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
character_set_server:是服务器安装时指定的默认字符集设定
character_set_system :是数据库系统使用的字符集设定。

将所有员工薪水修改为5000元。
mysql>UPDATE user SET salary=5000;
将姓名为’niuyang’的员工薪水修改为30000元。
mysql>UPDATE user SET salary=30000 WHERE username='niuyang';
将姓名为’huangshanshan’的员工薪水修改为20000元,job改为HR。
mysql>UPDATE user SET salary=20000,job='HR' WHERE username='huangshanshan';
将于连林的薪水在原有基础上增加10000元。
mysql>UPDATE user SET salary=salary+10000 WHERE username='于连林';

删除表中名称为’于连林’的记录。
mysql>DELETE FROM user WHERE username='于连林';
删除表中所有记录。(一条一条地删除)
mysql>DELETE FROM user;
使用truncate删除表中记录。(摧毁整张表,然后重建表结构)
mysql>TRUNCATE user;

------------------------------------------------------------------
*3、DQL:Data Query Language(数据查询语言)
关键字:SELECT
查询表中所有学生的信息。
mysql>SELECT id,name,chinese,english,math FROM student;
或者SELECT * FROM student;
查询表中所有学生的姓名和对应的英语成绩。
mysql>SELECT name,english FROM student;
过滤表中重复数据。
mysql>SELECT DISTINCT english FROM student;

在所有学生语文分数上加10分特长分。
mysql>SELECT id,name,chinese+10 FROM student;
统计每个学生的总分。
mysql>SELECT id,name,chinese+english+math FROM student;
使用别名表示学生分数。(AS可以省略)
mysql>SELECT id,name,chinese+english+math AS 总分 FROM student;
mysql>SELECT id,name,chinese+english+math 分 FROM student;

查询姓名为wu的学生成绩
mysql>SELECT id,name,chinese,english,math FROM student WHERE name='王五';
查询英语成绩大于90分的同学
mysql>SELECT name,english FROM student WHERE english>90;
查询总分大于200分的所有同学
mysql>SELECT name,chinese+english+math AS 总分 FROM student WHERE (chinese+english+math)>200;
------------------------------------------------------------------
(选修)4、DCL:Data Control Language(数据控制语言)
GRANT等
*****四、多表关系及设计
*****五、约束

Mysql基础1的更多相关文章

  1. Mysql基础代码(不断完善中)

    Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...

  2. MYSQL基础操作

    MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...

  3. 【夯实Mysql基础】记一次mysql语句的优化过程

    1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...

  4. MySQL基础(非常全)

    MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...

  5. mysql 基础篇5(mysql语法---数据)

    6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...

  6. MySQL 基础语句

    MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...

  7. MySQL:基础—数据分组

    MySQL:基础-数据分组 1.为什么要分组: 比如一个表中有多条订单记录,如上图,每条记录对应着一个商品,现在我要查询 每个商品被订购的单数 准备出货?也就是找到每个商品被订购的数量. 如果只找一个 ...

  8. MySQL基础学习总结

    1.MySQL基础概念 mysql逻辑架构如下: 每个客户端连接都会在服务器中拥有一个线程,这个连接的查询只会在这个单独的线程中执行. MySQL是分层的架构.上层是服务器层的服务和查询执行引擎,下层 ...

  9. MySQL基础(五)——视图

    MySQL基础(五)--视图

  10. MySQL基础(四)——索引

    MySQL基础(四)--索引

随机推荐

  1. ADF_Database Develop系列3_设计数据库表之Reconcile Database/Reverse Objects

    2013-05-01 Created By BaoXinjian

  2. edittext_解释

    ============ 2   android判断EditText输入的数字.中文还是字母方法   String txt = edInput.getText().toString(); Patter ...

  3. stdio.h----标准的输入输出函数

    C++兼容了stdio.h函数,其用法和c一样. 命令形式 #include <stdio.h>; 1.

  4. asp.net 运行时,"未能映射路径"

    asp.net 站点出现:未能映射路径,解决方案之一:发现原来是iis 应用程序池中设置了.net framework 版本为4.0了,而且VS中站点的版本为2.0引起的. 解决方案是把VS 中的站点 ...

  5. CentOS6.4 安装 erlang

    wget http://www.erlang.org/download/otp_src_17.0.tar.gz -P /usr/local/src/ wget http://www.erlang.or ...

  6. Blackfin DSP(七):用SPORT口模拟SPI

    1.问题的提出 当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M.然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为S ...

  7. 47. Largest Rectangle in Histogram && Maximal Rectangle

    Largest Rectangle in Histogram Given n non-negative integers representing the histogram's bar height ...

  8. SAMEORIGIN

    http://www.css88.com/archives/5141 Response.AppendHeader("X-Frame-Options", "SAMEORIG ...

  9. 使用Auto Layout中的VFL(Visual format language)--代码实现自动布局【转】

    本文将通过简单的UI来说明如何用VFL来实现自动布局.在自动布局的时候避免不了使用代码来加以优化以及根据内容来实现不同的UI. 一:API介绍 NSLayoutConstraint API 1 2 3 ...

  10. HDU2047

    http://acm.hdu.edu.cn/showproblem.php?pid=2047 对于这道题,我就从后面向前面考虑. 当第n个是o的话,那么n-1 只可以取e或者f,如果n是e或者f的话, ...