[MySQL] Basic usage of MySQL:


Classification of SQL statements:
[1] DDL: Data Definition Language, Data Definition Language, definition 数据库,表,字段
[2] DML: Data Manipulation Language, Data Manipulation Language, data manipulation of tables in the database ( 增删改)
[3] DQL: Data Query Language, Data Query Language , to operate the data in the table in the database 查询[
4] DCL: ​​data control language, Data Controller Language, used to define数据库的访问权限以及安全级别

【1】DDL basic operation:

insert image description here
insert image description here
insert image description here

#创建数据库(数据名称(如demo),关键字=>大写 ; 数据库名、表名、字段名=>小写)
CREATE DATABASE demo;

#判断是否存在=》不存在则创建
CREATE DATABASE IF NOT EXISTS demo;

#指定字符集=》默认Latin1
CREATE DATABASE demo CHARACTER SET utf8;

#查看数据库
SHOW DATABASES;

#查看某个数据库的详细信息
#CREATE DATABASE `demo` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */
SHOW CREATE DATABASE demo;

#删除数据库
DROP DATABASE demo;

#使用(选中)数据库
USE demo;

#查看当前正在执行的数据库
SELECT DATABASE();


#创建表和字段
CREATE TABLE sys_user (
	uid INT AUTO_INCREMENT COMMENT '用户id',
	username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',
	password CHAR(32) NOT NULL COMMENT '密码',
	salt CHAR(36) COMMENT '盐值',
	phone VARCHAR(20) COMMENT '电话号码',
	email VARCHAR(30) COMMENT '电子邮箱',
	gender INT COMMENT '性别:0-女,1-男',
	avatar VARCHAR(50) COMMENT '头像',
	is_delete INT COMMENT '是否删除:0-未删除,1-已删除',
	created_user VARCHAR(20) COMMENT '日志-创建人',
	created_time DATETIME COMMENT '日志-创建时间',
	modified_user VARCHAR(20) COMMENT '日志-最后修改执行人',
	modified_time DATETIME COMMENT '日志-最后修改时间',
	PRIMARY KEY (uid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#快速通过原有的表结构来构建一个新的一模一样的表(旧sys_user=》新sys_user副本)
CREATE TABLE sys_user副本 LIKE sys_user;

#数据类型
#【菜鸟教程】 https://www.runoob.com/mysql/mysql-data-types.html

#char与varchar的区别:
#都是保存字符串的,对应JAVA中的String类型
#区别:
#   char:固定长度的字符串(其剩余空间,别的不能用),浪费存储空间,效率高;
#   varchar:可变长度的字符串(VARCHAR(50)最大能存储50个字节),效率低(频繁扩容或缩容操作);节省存储空间
#使用场景:
#   char:性别,身份证号码,手机号
#   varchar:一定范围内变化的字符串

#查看当前数据库中所有表
SHOW TABLES;

#查看数据库中某张表的结构(表的字段信息)
DESC sys_user

#查看数据库中某张表的SQL语句定义
SHOW CREATE TABLE sys_user

#`:半角符号=》用来标记名称(避免关键字重复);主要用来修饰字段,表,数据库名,(索引名、视图名...);可以省略

USE demo;
#删除表(彻底删除,没办法恢复)
DROP TABLE sys_user副本

#判断表是否存在(存在则删除,不存在则不执行)
DROP TABLE IF EXISTS sys_user副本

#修改表的名称(旧sys_user=》新t_user)
RENAME TABLE sys_user to t_user

#修改表的默认字符集编码(GBK)
ALTER TABLE t_user CHARACTER SET GBK;
#查看数据库中某张表的SQL语句定义
SHOW CREATE TABLE t_user;

#向表中添加新的字段
ALTER TABLE t_user ADD cdesc VARCHAR(20)

#修改原有字段的长度、数据类型
ALTER TABLE t_user MODIFY cdesc CHAR(30)

#修改原有字段的名称、长度、数据类型
ALTER TABLE t_user CHANGE cdesc descption VARCHAR (30)

#废弃(删除)字段
ALTER TABLE t_user DROP descption

【2】DML basic operation:

insert image description here

#插入数据(部分字段=>字段声明不能省略)
INSERT INTO t_user (username,password) VALUES ("admin",123456);

#插入数据(全部字段=>全部指定了值,才可省略)
INSERT INTO t_user VALUES ("admin",123456,...);

#更新(修改)数据(没有指定条件则更新整列)
UPDATE t_user SET (username="管理员",password=123);

#更新(修改)数据(有指定条件则更新受影响的列)
UPDATE t_user SET (username="管理员",password=123) WHERE id=1;

#删除数据(不加条件则清空表)
DELETE FROM t_user;

#删除表中所有数据
TRUNCATE TABLE t_user;

#delete与truncate的区别:
#		delete:逐行进行数据的删除,效率低
#		truncate:先把指定的表直接删除,再重新创建一张一模一样的表

#删除数据(加条件)
DELETE FROM t_user WHERE password=123456;

【3】DQL basic operation:

insert image description here

#查询全部数据
SELECT * FROM t_user

#查询指定字段的数据
SELECT uid,username,password FROM t_user

#清除重复数据值DISTINCT
SELECT DISTINCT username FROM t_user

Guess you like

Origin blog.csdn.net/weixin_53791978/article/details/130427807