1.概念:
数据库:存储数据的仓库(DB)
数据库管理系统:操作和管理数据库的大型软件(DBMS):MySQL、ORACLE
SQL:操作数据库的编程语言,有着统一标准
2.关系型数据库(RDBMS)
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
特点:1.使用表储存数据,格式统一,便于维护
2.使用sql语言操作,标准统一,使用方便
3.SQL
a.统用语法:可以单行或多行书写,以分号结尾;使用空格或缩进来增强语句的可读性;不区分大小写
b.分类:DDL(数据定义语言,用来定义数据库对象(数据库,表,字段))
DML(数据操作语言,用来对数据库表中的数据进行增删改)
DQL(数据库查询语言,用来查询数据库中表的记录)
DCL (数据控制语言,用来创建库用户、控制数据库的访问权限)
4.DDL-数据库操作
查询:查询所有数据库(SHOW DATABASES) 查询当前数据库(SELECT DATABASES()
创建:CREATE DATABASE[IF NOT EXISTS] 数据库名[DEFAULT CHARSET 字符集] [COLLATE 排序规则]
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| itcast |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> create database if not exists test;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| itcast |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
mysql> create database it default charset utf8mb4;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| it |
| itcast |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)
删除:drop database [if exists] 数据库名
mysql> drop database it;
Query OK, 0 rows affected (0.02 sec)
mysql> drop database if exists itcast;
Query OK, 0 rows affected (0.01 sec)
使用:use 数据库名
查询目前所在的数据库:select database();
5.DDL-表操作:
<1>查询当前数据库所有表:show tables;
mysql> use sys;
Database changed
mysql> show tables;
+-----------------------------------------------+
| Tables_in_sys |
+-----------------------------------------------+
| host_summary |
| host_summary_by_file_io |
| host_summary_by_file_io_type |
| host_summary_by_stages |
| host_summary_by_statement_latency |
| host_summary_by_statement_type |
| innodb_buffer_stats_by_schema |
| innodb_buffer_stats_by_table |
| innodb_lock_waits |
| io_by_thread_by_latency |
| io_global_by_file_by_bytes |
| io_global_by_file_by_latency |
| io_global_by_wait_by_bytes |
| io_global_by_wait_by_latency |
| latest_file_io
<2>查询表结构:desc 表名;
<3>创建:create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
字段3 字段3类型[comment 字段3注释]
)[comment 表注释];
mysql> use test;
Database changed
mysql> create table tb(
-> id int comment '编号',
-> name varchar(50) comment '性别',
-> age int comment '年龄',
-> gender varchar(1) comment '性别'
-> )comment '用户表';
Query OK, 0 rows affected (0.04 sec)
<4>查询指定表的见表语句:show create table 表名;