MySQL,DDL语句详解

一SQL语言分类

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

==分类==四类

DDL(data definition language):
    DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE  DROP ALTER

DML(data manipulation language):
    DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
      

DQL(Data Query Language  )数据查询语言 SELECT
    DQL语句 数据库查询语言: 查询数据SELECT

DCL(Data Control Language):
    DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
       
==定义库==

1、创建业务数据库

语法:CREATE DATABASE 数据库名;

        eg:CREATE DATABASE discuz;

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

2.查看所有数据库

myaql> SHOW DATABASES;

==选择/进入数据库==

mysql> USE 数据库名

mysql> SELECT database();       // 调用函数,查询当前库

==删除数据库==

mysql> DROP DATABASE 数据库名 ;

==在系统中的位置==

/var/lib/mysql/

 数据库的实体        清理    备份

2.数据类型
==数值类型==

整数类型 int     默认12位数,其中一位正负号,加括号字定义

浮点数类型 float    小数

==字符串类型==

1.字符系列char和varchar

char的长度不可变。
varchar的长度可以增加。

2.枚举类型enum   单选   //enum(''a'',''b'')

3.集合类型set   多选

==时间和日期类型==

年 year

日期 DATE

时间 TIME

日期和时间 DATETIME

3.DDL-表
==创建目的==

表是数据库存储数据的基本单位,

表由若干个字段(列)组成,

主要用来存储数据记录(行)。

==操作数据库示例1== 

创建1列的表格-序号

1.创库

mysql> create    database    haha;

2.使用(haha)库

mysql> use  haha;

3.创表1

创建  表格  表名t1  (列名id   类型int );     //int整数类型,默认12位数

mysql> CREATE  TABLE    t1    (id int);     //命令不分大小写

4.查看所有表名

mysql> show   tables;

mysql> create database haha;                     创库
Query OK, 1 row affected (0.00 sec)

mysql> use haha                                    进入数据库  
Database changed
mysql> create table t1 (id int);           创表
Query OK, 0 rows affected (0.01 sec)

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

mysql> insert into t1 values (11);       插入数据
Query OK, 1 row affected (0.12 sec)

5.插入数据

插入  到   表名t1   值  (1);

mysql> INSERT   INTO    t1  VALUES   (1);

6.查询所有数据

查询  所有列   从   表名t1;

SELECT  *  FROM  t1;

mysql> select * from t1查询  所有列   从   表名t1
    -> ;
+------+
| id   |
+------+
|   11 |
+------+
1 row in set (0.01 sec)

7.删除表

drop   table  t1;

mysql> drop table t1;删除表
Query OK, 0 rows affected (0.00 sec)

==操作数据库示例2==

1.创建两个列的表格-序号和姓名

 创建  表格  表名t2  (第一列名id   数字类型,  第二列名name   字符类型(长度))

 create   table        t2            (id           int,name             varchar(20));

2.查看表结构

desc t2;  //描述  表t2

总结:
    mysql> show tables;        查看表名
    mysql> select * from t2;      看表中的内容
    mysql> desc  t2;        查看表结构
 

mysql> use haha
Database changed
mysql> create table t2 (id int, name varchar(20));创建  表格  表名t2
Query OK, 0 rows affected (0.01 sec)
mysql> desc t2;查看表结构
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

==操作数据库实例3==

1.创建表

要求:

   创建库school
   创建表student1

语法:create   table 表名(字段名1  类型,字段名2  类型,字段名3  类型 );

示例:

mysql> CREATE  DATABASE school;    创建数据库school

mysql> use school;        使用库

mysql> create table student1(  id int, name varchar (20) ,   sex enum('m','f'), age int );    创建一个表,四列
 

mysql> show tables;查表
+----------------+
| Tables_in_haha |
+----------------+
| t2             |
+----------------+
1 row in set (0.00 sec)

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

mysql> create database school;创建数据库
Query OK, 1 row affected (0.01 sec)

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


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

mysql> drop table t2删除表
    -> ;
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;查看表
+----------------+
| Tables_in_haha |
+----------------+
| student1       |
+----------------+
1 row in set (0.00 sec)

表中插入内容

语法    insert into 表名 values(字段值列表...);

mysql> insert into student1 values(1,'zhangsan','m',33);表中插入内容
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values(2,'lisi','f',20);表中插入内容
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values(3,'wangwu','m',40);表中插入内容
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values(4,'liuzi','f',25);表中插入内容
Query OK, 1 row affected (0.01 sec)

查看表内容

mysql> select * from student1;    //查询表中所有字段的值

mysql> select * from student1;查询表中所有字段的值
+------+----------+------+------+
| id   | name     | sex  | age  |
+------+----------+------+------+
|    1 | zhangsan | m    |   33 |
|    2 | lisi     | f    |   20 |
|    3 | wangwu   | m    |   40 |
|    4 | liuzi    | f    |   25 |
+------+----------+------+------+
4 rows in set (0.00 sec)

mysql> desc student1;查看表结构,,,注意表结构和表内容是两个概念
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int(11)       | YES  |     | NULL    |       |
| name  | varchar(20)   | YES  |     | NULL    |       |
| sex   | enum('m','f') | YES  |     | NULL    |       |
| age   | int(11)       | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值