mysql 基础知识及DDL,DML
MYSQL基础
cmd操作指令:mysql -u用户名 -p密码 -h主机地址 -P端口号
-u :user
-p :password 隐式输入无需在-p后加密码
-h :host 默认是localhost
-P :port mysql默认是3306
定义
SQL: Structured Query language 结构化查询语言
规范
一条语句要以分号(;)结束
sql可以单行和多行书写,一般通过缩进和换行书写提高代码可读性
sql的关键词一般都要全大写
分类
DDL(Data Defination Language) 数据定义语言
用于操作数据库常用对象,例如数据库 表格等,常用的关键字:CREATE(创建); ALTER(修改) ; DROP(删除)等
DML(Data Manipulation Language)数据操作语言
用于对表格进行增删改操作,常用关键字:INSERT(增) ; DELETE(删) ; UPDATE (改)等
DQL(Data Query Language) 数据查询语言
用于对表格进行查询操作 ,常用关键字: SELECT(查) ; WHERE(条件) ; FROM(位置)等
DCL(Data Control Language) 数据控制语言
用于对权限的控制 ,常用关键字 : GRANT(授权) REVOKE(撤销)
操作Database
1 | 查看所有的database |
创建database
- 直接创建:create database 名称;
- 指定编码方式创建: create database 名称 character set utf8;
- 如果数据库不存在则创建:create database if not exists 名称;
使用database
- use 数据库名
修改database
- alter database 名称 character set gbk;
删除database
- 直接删除:drop database 名称;
- 如果存在则删除:drop database if exists 名称;
操作table
*1.查询当前database下所有可用的table *
1 | show tables; |
2.mysql中常用的数据类型
在MySQL中,有三种主要类型:Text(文本),Number(数字),Date/Time(日期/时间)类型。
Text类型:
- 常用类型:
- CHAR(size) :括号中指定字符串长度,最多255个字符。不可变字符串,性能好,但占用空间是固定的。
- VARCHAR(size):括号中指定字符串长度,最多255个字符可变字符串,如果长度大于255则被转换为TEXT类型。可变字符串性能差,但占用空间是可变的。
- TEXT :不需要指定长度,用于存放大文本数据。
Number类型
- 常用类型:
- INT(size):括号中指定最大位数。4个字节。
- TINYINT(size):-128到127。0到255 无符号。括号中指定最大位数。1个字节,如果长度为1,通常用于表示boolean,1->true, 0->false。
- BIGINT(size):括号中指定最大位数,8个字节。
- FLOAT(size,d):size指定最大位数,d指定小数点右侧的最大位数。存放带有浮动小数点的小数字,4个字节。
- DOUBLE(size,d):size指定最大位数,d指定小数点右侧的最大位数。存放带有浮动小数点的大数字,8个字节。
Date/Time类型:
常用类型:
DATE() :格式:YYYY-MM-DD 年月日。
DATE() :格式:YYYY-MM-DD HH : MM : SS 年月日时分秒。
3.创建表格
1 | create table 表名 ( |
4.查看表格结构
1 | desc 表名字; |
5.修改表格
修改表名
alter table 原表名 rename to 新表名;
修改字段(列)的类型
alter table 表名 modify 列名 类型;
修改字段名
alter table 表名 change 原列名 新列名 类型;
增加字段
alter table 表名 add(列名 类型,....);
删除字段
alter table 表名 drop column 列名;
6.删除表格
1 | drop table [if exists] 表名; |
DML操作
新增数据:
1 | insert into (列名1,列名2,列名3) values (值1,值2,值3); |
列和值要一一对应,多个数据逗号隔开。
列可以省略,表示所有的列都要增加数据
数据的类型要和列的类型一致,除了数字以外,其他数据都需要加引号(单引号或双引号)
修改数据
1 | update 表名 set 列1=值1,列2=值2 [where 条件]; |
删除数据
1 | dalete from 表名 [where 条件]; 效率低可回滚。 |
- 本文标题:mysql 基础知识及DDL,DML
- 本文作者:Ptmapo
- 本文链接:https://1997888.xyz
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!