MySQL

MySQL

常见数据类型

整型

  • TINYINT
  • SMALLINT
  • MEDIUMINT
  • INT
  • BIGINT

浮点型

  • FLOAT(n,m)
  • DOUBLE(n,m)
  • DECIMAL(n,m)

n:整数部位+小数部位的最大长度

m:小数部位的最大长度

字符型

  • CHAR(n)
    • n为字符的最大个数,可选,默认是1,固定长度的字符。
  • VARCHAR(n)
    • n为字符的最大个数,必写,可变长度的字符。
  • TEXT
    • 保存大文本

日期型

  • DATETIME
    • 只有日期
    • 2021-08-29
  • DATE
    • 只有时间
    • 18:28:53
  • TIME
    • 日期+时间,占8个字节,
    • 日期范围1900-1-1~9999-12-31
    • 不受时区和服务器版本的影响
    • 2021-08-29 18:28:54
  • TIMESTAMP
    • 时间戳,日期+时间,占4个字节
    • 日期范围1970-1-1~2038-12-31
    • 受时区和服务器版本的影响
    • 2021-08-29 18:28:56

查用sql操作

查询常量

  • SELECT ‘110’; – > 110
  • SELECT ‘2099-12-31 23:59:59’; – > 2099-12-31 23:59:59
  • SELECT ‘Hello Mysql: 你好 Mysql’; – > Hello Mysql: 你好 Mysql
  • SELECT 10+100; – > 110
  • SELECT 20+‘200’; – > 220
  • SELECT 10+‘hello’; – > 10 字符无法转换为数值,则转换为0,等于10+0 = 10
  • SELECT CONCAT(‘10’,‘hello’); – > 10hello
  • SELECT 999+“123”+NULL; – > NULL 只要有NULL 一定是NULL

查询相关信息sql

  • SELECT VERSION(); – > 获取当前MySql数据库的版本信息
  • SHOW DATABASES; – > 获取当前MySql实例下所有数据库
  • SELECT VERSION(); – > 获取当前MySql数据库的版本信息
  • SHOW VARIABLES LIKE ‘%char%’ – >获取字符集相关的信息
  • SHOW CREATE DATABASE dbname – > 获取建库语句,可以查看当前库的使用的编码字符集
  • SHOW CREATE TABLE table_name ; – > 获取建表语句
  • SHOW VARIABLES LIKE ‘%lower_case_table_names%’
  • 0 大小写敏感
  • 1 大小写不敏感
  • 2 依据创建时的格式而定
  • SELECT @@sql_mode; – > 是否严格语法模式,如果值为空则为非严格模式

事务相关sql

  • SHOW VARIABLES LIKE ‘autocommit’; – >查看事务是否自动提交
  • SET autocommit = 0; – > 将自动提交关闭
  • SET autocommit = 1; – > 将自动提交打开
  • begin; – >开启事务
    – sql –
    commit; – > 关闭
  • START TRANSACTION; – >开启事务
    – sql–
    commit; – > 关闭
  • ROLLBACK; – > 回滚

常用sql

SELECT - 从数据库中提取数据

  • SELECT * FROM table_name;
  • SELECT column_name,column_name FROM table_name;

UPDATE - 更新数据库中的数据

  • UPDATE table_name SET column1=value1,column2=value2,… WHERE some_column=some_value;

DELETE - 从数据库中删除数据

  • DELETE FROM table_name WHERE some_column=some_value;

INSERT INTO - 向数据库中插入新数据

  • INSERT INTO table_name (column1,column2,column3,…) VALUES (value1,value2,value3,…);

CREATE DATABASE - 创建新数据库

  • CREATE DATABASE dbname;
  • CREATE DATABASE IF NOT EXISTS dbname CHARACTER SET 字符集;

ALTER DATABASE - 修改数据库

  • ALTER DATABASE dbnameDEFAULT CHARACTER SET 字符集;

DROP DATABASE 删除数据库

  • DROP DATABASE dbname

CREATE TABLE - 创建新表

  • CREATE TABLE table_name
    (
    column_name1 data_type(size),
    column_name2 data_type(size),
    column_name3 data_type(size),

    );

  • CREATE TABLE table_name
    (
    column_name1 data_type(size) AUTO_INCREMENT, – 自增
    column_name2 data_type(size),
    column_name3 data_type(size),

    PRIMARY KEY (column_name1 ),


    );

ALTER TABLE - 变更(改变)数据库表

  • ALTER TABLE table_name ADD column_name datatype
  • ALTER TABLE table_name DROP COLUMN column_name

修改表字符编码为utf8mb4

  • ALTER TABLE table_name CONVERT TO CHARACTER SET ‘utf8mb4’;

DROP TABLE - 删除表

  • DELETE FROM table_name WHERE some_column=some_value;

CREATE INDEX - 创建索引(搜索键)

  • CREATE INDEX index_name ON table_name (column_name)

DROP INDEX - 删除索引

  • DROP INDEX index_name ON table_name

SHOW DATABASE 查看所有数据库

  • SHOW DATABASES ;

USE DATABASE 使用指定数据库

  • USE dbname;

SHOW TABLE 展示当前库下所有表

  • SHOW TABLES;

DESC TABLE 展示表结构

  • DESC table_name

修改表名

  • ALTER TABLE old_table_nameRENAME TO new_table_name ;

修改列名

  • ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name type;

修改列的类型

  • ALTER TABLE table_name MODIFY COLUMN column_name type;

添加默认

  • ALTER TABLE table_name MODIFY COLUMN column_name type DEFAULT ‘defaultValue’;

添加主键

  • ALTER TABLE table_name MODIFY COLUMN column_name type PRIMARY KEY;

  • ALTER TABLE table_name ADD PRIMARY KEY(column_name)

添加唯一

  • ALTER TABLE table_name ADD UNIQUE(column_name)

添加非空

  • ALTER TABLE table_name MODIFY COLUMN column_name type NOT NULL;

删除唯一

  • ALTER TABLE table_name DROP INDEX column_name;

删除非空

  • ALTER TABLE table_name MODIFY COLUMN column_name type ;

添加新列

  • ALTER TABLE table_name ADD COLUMN column_name type;

删除列

ALTER TABLE table_name DROP COLUMN column_name type;

复制表的结构

  • CREATE TABLE new_table_name LIKE old_table_name ;

复制表的结构与数据

  • CREATE TABLE new_table_name SELECT * FROM old_table_name ;

只复制某几个列,不包含数据

  • CREATE TABLE new_table_name SELECT column_name1 ,column_name2 FROM old_table_name WHERE 1=2;

只复制某几个列,包含数据

  • CREATE TABLE new_table_name SELECT column_name1 ,column_name2 FROM old_table_name;

永久修改默认的编码字符集 – LINUX

vim /etc/my.cnf

#添加如下配置

[client]

default-character-set=utf8

[mysqld]

character_set_server=utf8

collation-server=utf8_general_ci

[mysql]

default-character-set=utf8

重新启动MySQL服务!!!

重启命令如下

service mysqld restart

SQL分类

  • DDL(Data Definition Language)数据定义语言
  • DML(Data Manipulation Language)数据操作语言
  • DQL(Data Query Language)数据查询语言
  • DCL(Data Control Language)数据控制语言(了解)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值