MySQL学习之路(2) - MySQL语句DDL

一、什么是SQL语句?

        (1)SQL(Struct Query Language,结构化查询语言) 就是对数据库进行操作的一种语言。

        (2)数据库分类:

               DDL(Data Definition Language,数据定义语言):

                        CREATE TABLE、ALTER TABLE、DROP TABLE、CREATE/DROP INDEX

                DML(Data Manipulation Language,数据操作语言):

                        INSERT、DELETE、UPDATE ,主要是对表数据进行操作,如对表数据进行增、删、改

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

                        SELECT <字段名表> FROM <表或视图名> WHERE <查询条件>

                DCL(Data Control Language,数据控制语言):

                        GRANT、ROLLBACK、COMMIT(有时也叫TCL:事务控制语言)

二、数据库SQL操作

        快捷键操作:#(ctrl + /)         行注释                 例:# 这里写注释

                             /**/(ctrl + shift + /)         块注释                 例:/* 这里写注释*/

        ctrl + enter        运行

        注:被注释的行不会被执行

        代码部分

create datebase date;  # 创建一个名字为date的数据库,库存在则报错
create database if not exists date;  # 如果数据库date不存在,那么就创建一个数据库
use date;  # 选择数据库date
drop database date;  # 删除数据库date
select database();  # 查看当前选择的数据库
show tables;  # 查看当前数据库包含的数据表
show create database date;  # 查看建库语句

三、数据库表SQL操作

# 创建数据表
create table student(
    # 格式:列名字 类型(长度限制) 其他限制条件
    # 如果超出长度限制则报错
    sid int(12),  # 输入sid,id类型为整数,且长度不超过12
    name varchar(5), # 输入名字,名字类型为字符串,且长度不超过5
    age int(3),  # 输入年龄,类型为整数,且长度不超过3
    gender enum('男', '女'),  # 输入性别,只能在男和女之间选择
    introduce text  # 简介,类型为text
);

# 添加表格信息
insert into student values (1, '名字', 20, '男', '简介')
/*
    student也可以指定使用哪个数据库的student,格式为:数据库名字.student
    同时student也可以加上引号,意义为不是关键字,是表明,如:'student'
    表格间建立要一一对应,比如第一个要求整数,输入字符串就会报错
*/

# 其他语句
desc student;  # 查看数据表student的表结构
alter table student add age;  # 在student数据表中添加(add)一列,列的名字叫age
alter table student change sid id int(12);  # 将数据表student中叫sid的列改名为id,如果没有这个列名,则报错
alter table student drop age;  # 将数据表student中叫age的一列删除
alert table student to stu;  # 将数据表student改名字为stu
show create table student;  # 查看数据表student的建表语句
drop table student;  # 删除数据表student

        其他补充:

                如果需要限制条件,举例:sid  int(12) primary key auto_increment  # 其中primary key auto_increment 为限制条件,含义为主键自增

        限制条件其他介绍如下:

约束条件说明
primary key
主键(唯一、不能为空)
not null
不为空
null允许为空
auto_increment自增长(一般和主键结合使用)
unique唯一,不能重复
binary设置大小写敏感
foreign key
外键,指向另一个表的主键

        数据库数据类型:

数值类型说明
tinyint/int/bigint
小整数(-2^7 ~2^7  ) / 整数( -2^31~2^31-1) / 大整数(-2^63~2^63-1)
decimal/float/double
准确的小数/单精度浮点数(-2128 ~2128)/双精度浮点数(-21024 ~+21024)
char/varchar
固定长度的字符串/可变长度的字符串
text/mdeiumtext/longtext长字符串(64kb) / 超长字符串(16mb) / 超超长字符串(4G)
date/time/datetime/timestamp/year年月日/小时分钟秒/年月日小时分钟秒/时间戳/年
enum枚举(即单选,只能出括号内选一个,选择以逗号隔开)
set集合
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值