MySQL(day01)
1.sql、DB、DBMS之间的关系
DB:
DataBase(数据库,数据库实际上在硬盘上以文件的形式存在)
DBMS:
DataBase Management System(数据库管理系统,常见的有:MySQL Oracle DB2 Sybase SqlServer…)
SQL:
结构化查询语言,是一门标准通用的语言。标准的ql适用于所有的数据库产品。
SQL属于高级语言。sql数据基本上是可读的英语单词。
SQL语句在执行的时候,内部会先进行编译,然后再执行sql。(sql语句的编译由DBMS完成)
DBMS负责执行sql语句,通过执行sql语句来操作DB中的数据
DBMS-(执行)->SQL-(操作)->DB
2.表:table
表:table是数据库的基本组成单元,所有的数据都以表格的形式组织
一个表包括行和列:
行:被称为数据/记录(data)
列:被称为字段(column)
学号(int) 姓名(varchar) 年龄(int)
----------------------------------
110 张三 20
120 李四 21
一个字段应该包括:字段名、数据类型、相关的约束。
3.SQL语句包括增删改查,分类:
DQL(数据查询语言):查询语句,凡是select语句都是DQL。
DML(数组操作语言):insert delete update ,对表中的数据进行增删改。
DDL(数据定义语言):create drop alter ,对表结构的增删改。
TCL(事物控制语言):commit提交事务,rollback回滚事务。
DCL(数据控制语言):grant授权、revoke撤销权限等。
|--DML:数据操作语言
SELECT-从数据库表获取数据
UPDATE-更新数据库表中的数据
DELETE-从数据库表中删除数据
INSERT INTO-向数据库表中插入数据
|--DDL:数据定义语言
CREATE DATABASE-创建新数据库
ALTER DATABASE-修改数据库
CREATE TABLE-创建新表
ALTER TABLE-变更数据库表
DROP TABLE-删除表
CREATE INDEX-创建索引(搜索键)
DROP INDEX-删除索引
4.导入数据
第一步:登陆
第二步:查看所有数据库
show databases;(MySQL的命令,不属于SQL语句)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
第三步:创建属于自己的数据库
create database company;(MySQL的命令,不属于SQL语句)
第四步:使用指定的数据库
use company;(MySQL的命令,不属于SQL语句)
第五步:查看当前使用的数据库中的所有表
show tables;(MySQL的命令,不属于SQL语句)
mysql> use company;
Database changed
mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| dept |
| emp |
| salgrade |
+-------------------+
3 rows in set (0.00 sec)
第六步:初始化数据
source D:\course\05=MySQL\resources\company.sql(SQL文件路径)
5.company.sql 这个文件以sql结尾,这样的文件被称为“sql脚本”,
当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。
注意:直接使用source命令可以执行sql脚本。
sql脚本中的数据量太大的时候,无法打开,请使用source命令完成初始化。
6.删除数据库:drop database bjpowernode;
7.查看表的结构:desc 表名;
mysql> desc emp;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| empno | int(11) | YES | | NULL | |
| ename | varchar(255) | YES | | NULL | |
| job | varchar(255) | YES | | NULL | |
| mgr | int(11) | YES | | NULL | |
| hiredate | date | YES | | NULL | |
| sal | float(8,2) | YES | | NULL | |
| comm | float(8,2) | YES | | NULL | |
| deptno | int(11) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
8 rows in set (0.01 sec)
8.查看表的数据:select * from 表名称;
mysql> select * from emp;
+-------+--------+-----------+------+------------+---------+---------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+-----------+------+------------+---------+---------+--------+
| 7369 | smith | clerk | 7902 | 1980-12-17 | 800.00 | NULL | 20 |
| 7499 | allen | salesman | 7902 | 1981-02-20 | 1600.00 | 300.00 | 30 |
| 7521 | ward | salesman | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 |
| 7566 | jones | manager | 7839 | 1981-04-02 | 2975.00 | NULL | 20 |
| 7654 | martin | salesman | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 |
| 7698 | blake | manager | 7839 | 1981-05-01 | 2850.00 | NULL | 30 |
| 7782 | clark | manager | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7788 | scott | analyst | 7566 | 1987-04-19 | 3000.00 | NULL | 20 |
| 7839 | king | persident | NULL | 1981-11-17 | 5000.00 | NULL | 10 |
| 7844 | turner | salesman | 7698 | 1981-09-08 | 1500.00 | 0.00 | 30 |
| 7876 | adams | clerk | 7788 | 1987-05-23 | 1100.00 | NULL | 20 |
| 7900 | james | clerk | 7698 | 1981-12-03 | 950.00 | NULL | 30 |
| 7902 | frod | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20 |
| 7934 | miller | clerk | 7782 | 1982-01-23 | 1300.00 | NULL | 10 |
+-------+--------+-----------+------+------------+---------+---------+--------+
14 rows in set (0.00 sec)
9.常用命令:
select database();查看当前使用数据库名称
select version();查看mysql版本号
\c 结束一条语句
exit 推出MySql
10.查看创建表的语句:
show create table emp;