MYSQL数据库登入
本地登入:
mysql -uroot -proot
远程登入:
mysql -hXXX.XXX.XXX.XXX -P3306 -uroot -proot
mysql -h主机名 -P端口号 -u用户名 -p密码
注意,-P端口号,中的P是大写的,要跟密码前面的p(小写)区分开
DDL(Data Definition Language):数据库定义语言,用于创建、修改和删除数据库、表以及其他数据库对象的语言。DDL包括创建、修改和删除数据库、表、索引、视图、触发器等操作。常见的DDL命令有CREATE、ALTER和DROP。
DML(Data Manipulation Language):数据库操作语言,用于对数据库中的数据进行操作的语言。DML允许插入、更新、删除和查询数据记录。常见的DML命令有INSERT、UPDATE、DELETE和SELECT。
DQL(Data Query Language):数据查询语言,用于从数据库中检索数据的语言。DQL主要用于查询和获取保存在数据库中的数据。常见的DQL命令是SELECT。
DCL(Data Control Language):数据控制语言,用于控制数据库用户访问权限和安全性的语言。DCL包括授予和撤销用户权限的命令,以及管理数据库对象的权限。常见的DCL命令有GRANT和REVOKE。
mysql不区分大小写可以通过缩进来增强mysql语句的可读性
注释:
--单行注释
/*多行注释*/
#单行注释
MYSQL中常使用的数据类型:
| int(integer) | 整数类型 |
|---|---|
| double | 小数类型 |
| decimal(m,d) | 指定整数位与小数长度类型decimal(10,2) |
| date | 日期类型,格式为YYY-MM-DD包含年月日不包含时分秒2026-01-06 |
| datetime | 日期类型,格式为YYY-MM-DD HH:MM:SS包含年月日时分秒 2019-01-06 17:43:42 |
| timestamp | 日期类型,时间戳 |
| varchar(M) | 文本类型,M为0-65535之间的整数 |
附:
若输入时出现如下环境则无法正确使用mysql语句目前未清除具体出现原因 可以通过输入一个;回车来进行推出当前视图
->
DDL数据库database操作:
查看数据库 show databases;
1、(创建数据库)
CREATE DATABASE 数据库名;
判断数据库是否存在 若存在则不创建数据库 若存在则什么也不做
create database if not exists h1;
创建数据库并且指定字符集;默认GBK utf8mb4
create database x1 default character set utf8mb4;
指定查看数据库的单个信息,可以查看数据库的详细使用字符集
show create database x1;
2、删除数据库 指定h1
drop database h1;
删除数据库如果存在的话
drop database if exists h1;
3、修改数据库的字符集格式
alter database 数据库名称 default character set 字符集;
4、切换数据库 查看目前正在使用的数据库
use 对应数据库名称;
select database(); #查看正在使用的数据库
DDL数据库表的操作table:
常用数据库列表类型:
1:数字型(整数):tinyint、smallint、mediumint、int(integer 是别名)、bigint
2:浮点型:double、float、decimal(精确小数类型,格式 decimal (M,D))
3:字符型:char(定长字符串,长度 1-255)、varchar(可变长字符串,长度 1-65535)
4:日期类型:date(只有年月日)、time(只有时分秒)、datetime(年月日 + 时分秒)、year(年)
5:二进制字符串类型:binary(定长、二进制存储)、varbinary(可变长、二进制存储)
单表约束
主键约束:primary key #唯一的且是非空的 不允许null 不允许重复 一张表可定义数量仅1个 属于表的核心标识
唯一约束:unique #仅保证字段值唯一 允许null 不允许重复 一张表无限制定义
非空约束:not null #not null 仅保证字段有值 不允许null 可重复 一张表无限制定义
1、创建表
建立表就是建立表结构,指定有多少列,每一列的数据类型,字段名可以理解为列名 长度有的例如字符串是有长度的,有的例如时间日期一类是没有长度的。
create table 表名(
--可以定义多个列列与列之间是使用,分割的
字段名 类型(长度)约束,
字段名 类型(长度)约束,
);
示例
create table 表名(
--可以定义多个列 列与列之间使用,分割
uid int primary key auto_increment,
--auto_increment自增之含义
uname varchar(20),
passwd varchar(30)
);
2、查看表
use xxx; #指定进入某个数据库
show table; #查看当前use XXX数据库下所有的表
desc 表名; #查看指定表下的结构
show create table 表名; #查看创建这个表的语句
3、快速创建表
#基于老表创建新表
create table 新表名 like 老表名;
4、删除表
drop table 表名;
drop table if exists 表名; #判断表是否存在 存在即删除
例如:
#删除user表
drop table user;
5、修改表结构
文章评论