数据库MySQL(一):DDL语句 数据库定义语言(数据库、表、视图、索引、存储过程)

目录

一、SQL语言分类

1.SQL简介

2.SQL分类

二、名词解释

三、DDL

1.DDL-库

2.数据类型

3.DDL-表


一、SQL语言分类

1.SQL简介

        SQL即结构化查询语言,主要用于存取数据、查询数据、更新数据和管理数据库系统,SQL语言由IBM开发。

2.SQL分类

  • DDL语句 数据库定义语言:数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
  • DML语句 数据库操纵语言:插入数据INSERT、删除数据DELETE、更新数据UPDATE
  • DQL语句 数据库查询语言:查询数据SELECT
  • DCL语句 数据库控制语言:例如控制用户的访问权限GRANT、REMOVE

二、名词解释

  • 数据库服务器:运行着数据库应用程序的设备;硬件+系统软件+MySQL软件
  • 数据库:默认数据库;表(EXCEL)的管理单元
  • 表:记录的管理单元
  • 记录(行):信息的载体,字段的管理单元
  • 字段(列):字段名,字段类型(长度),字段约束组成(可选)
  • 类型:字符,数字,日期
  • 约束:不能为空,自动增长

三、DDL

1.DDL-库

 定义库

  • 创建业务数据库

        语法:create database 库名;

        例:create database discuz;

        数据库名要求:区分大小写;唯一性;不能使用关键字如create select;不能单独使用数字和特殊符号“如-”;正常的用拼音或单词创建数据库名即可

  • 查看所有数据库

        show databases;

  • 选择/进入数据库

        use 库名;

        select database();调用函数,查询当前库

  • 删除数据库

        drop database 库名;

  • 系统中的位置

        ls /var/lib/mysql  清理或者备份时到这个目录下

2.数据类型

  • 数值类型

        整数类型 int

        浮点数类型 float

  • 字符串类型

        字符类型 char和varchar

        枚举类型 enum

        集合类型 set

  • 时间和日期类型

        年year

        日期date

        时间time

        日期和时间datetime

3.DDL-表

  • 创建目的

        表是数据库存储数据的基本单位,表由若干字段(列)组成,主要迎来存储数据记录(行)。

  • 操作数据库示例1-创建1列的表格-序号
mysql> create database test1; //创建test1数据库
Query OK, 1 row affected (0.01 sec)

mysql> use test1; //使用库
Database changed
mysql> create table t1 (id int); //创建表格名为t1,t1有一个id列,类型为int
Query OK, 0 rows affected (0.03 sec)

mysql> show tables; //查看所有表名
+-----------------+
| Tables_in_test1 |
+-----------------+
| t1              |
+-----------------+
1 row in set (0.00 sec)

mysql> INSERT INTO t1 VALUES (1); //在t1表中插入数值1
Query OK, 1 row affected (0.10 sec)

mysql> SELECT * FROM t1; //查询t1表中的所有数据
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

mysql> show databases; //查看所有数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test1              |
+--------------------+
5 rows in set (0.00 sec)

mysql> drop table t1; //删除t1表
Query OK, 0 rows affected (0.01 sec)
  • 操作数据库示例2-创建两列的表格-序号和姓名
mysql> create table t2 (id int,name varchar(20)); //创建表格,表名t2(第一列名id 数字类型;第二列名name 字符类型(长度))
Query OK, 0 rows affected (0.04 sec)

mysql> desc t2;  //查看表的结构
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)

mysql> show tables;  //查看表名
+-----------------+
| Tables_in_test1 |
+-----------------+
| t2              |
+-----------------+
1 row in set (0.00 sec)

mysql> select * from t2;  //查看表中内容
Empty set (0.00 sec)

mysql> INSERT INTO t2 VALUES (1,"zhangsan");  //在t2中插入第一列和第二列信息,数字不能加引号,字符必须加引号(转义符)
Query OK, 1 row affected (0.01 sec)

mysql> select * from t2; //查询t2表格数据
+------+----------+
| id   | name     |
+------+----------+
|    1 | zhangsan |
+------+----------+
1 row in set (0.01 sec)
  • 操作数据库示例3
mysql> create database school;    //创建数据库school
Query OK, 1 row affected (0.01 sec)

mysql> show databases;    //查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
| test1              |
+--------------------+
6 rows in set (0.01 sec)

mysql> create table student1 (id int,name varchar(20),sex enum('m','f'),age int);
Query OK, 0 rows affected (0.02 sec)

mysql> show tables;    //查看表
+-----------------+
| Tables_in_test1 |
+-----------------+
| student1        |
| t2              |
+-----------------+
2 rows in set (0.00 sec)

mysql> insert into student1 values(1,"zhangsan",'m',20);
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values(2,"lin",'f',21);
Query OK, 1 row affected (0.01 sec)

mysql> select * from student1;    //查看表的内容
+------+----------+------+------+
| id   | name     | sex  | age  |
+------+----------+------+------+
|    1 | zhangsan | m    |   20 |
|    2 | lin      | f    |   21 |
+------+----------+------+------+
2 rows in set (0.00 sec)

mysql> desc student1;    //查看表结构
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int           | YES  |     | NULL    |       |
| name  | varchar(20)   | YES  |     | NULL    |       |
| sex   | enum('m','f') | YES  |     | NULL    |       |
| age   | int           | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值