MySQL常用语句

有时间没更新简书了,最近在学MySQL数据库,前段时间学的Python,学的稀里哗啦的,人生苦短,为何用Python。这两天整理了一部分最近一周学MySQL数据库的常用语法,后续会再持续更新一部分,望对学习的你有所帮助。Good good study,Day day up

MySQL语句

登陆

登陆本身MySQL

mysql -u root -p    会提示输入密码,验证登陆
mysql -uroot -p密码    会显示密码,直接登陆

登陆别人MySQL

mysql -hPup  连接其他MySQL(h为host主机,P端口号:默认为3306,u:用户名,p:password密码)
mysql -h ip地址 -u root -p  提示输入密码,验证登陆

查看

语句 说明
SHOW DATABASES; 查看展示所有数据库
SHOW TABLES; 查看展示数据库中数据表
SHOW STATUS; 查看服务器状态信息
SHOW STATUS \G; 查看服务器状态信息,并整理
SHOW TABLES STATUS \G; 查看数据表状态信息,并整理
SHOW CREATE DATABASE 库名; 查看创建的数据库
SHOW CREATE TABLE 表名; 查看创建表的语句
SHOW ENGINES; 查看引擎
SHOW VARIABLES LIKE 'deafult_storage_engine'; 查看默认存储引擎
SHOW VARIABLES LIKE 'deafult%'; 查看以'default'为开头的变量
SHOW GRANTS; 查看授权用户(所有用户或特定用户)的安全权限

创建

语句 说明
CREATE DATABASE 库名; 创建数据库
CREATE DATABASE 库名 CHARSET = 'utf8'; 创建库,设置编码为utf8类型
CREATE DATABASE IF NOT EXISTS 库名; 如果库名不存在,则创建
CREATE TABLE 表名(列名1 数据类型 约束条件 注释,列名2 数据类型 约束条件 注释.....); 创建表
CREATE TABLE IF NOT EXISTS 库名(列名1 数据类型 约束 注释,列名2 数据类型 约束 注释....,PRIMARY KEY(列名n))ENGINE = InnoDB DEFAULT CHARSET = 'utf8'; 创建表,如果不存在,将表主键设置为列名n,存储引擎为InnoDB(为默认存储引擎),默认编码设置为'UTF8'

注释: 1.如果你不想字段为NULL,可以设置字段属性为NOT NULL,在操作数据库时如果输入该字段的数据为NULL,就会报错

  • 2.AUTO_INCREMENT 定义列为自增属性,一般用于主键,数值会自动+1,自增时随着前一位列的数值而言
  • 3.PRIMARY KEY 关键字用于定义列为主键,可以直接跟在列后面设置,也可以在数据表末尾说明。也可以使用多列来定义主键,列间用逗号分隔
  • 4.ENGINE 设置存储引擎,CHARSET 设置编码

插入

语句 说明
INSERT INTO 表名(列名1,列名2,列名3...) VALUES(value1,value2,value3...); 数据表中插入单条数据
INSERT INTO 表名(列名1,列名2,列名3...) VALUES(valueA1,valueA2,valueA3...),(valueB1,valueB2,valueB3...); 数据表中插入多条数据

注释: 如果列中约束有NULL或者默认值的,在插入数据中表后面的列可以不跟列名,后面values中同样也不跟值,在输出后,该列会自动显示NULL或者默认值

查询

注: MySQL数据库中查询数据通用为SELECT语法

  • 查询语句中可以使用一个或者多个表,表之间使用','分隔,并使用WHERE语句来设定查询条件
  • SELECT命令可以读取一条或者多条记录
  • 使用'*'来替代其他字段,SELECT语句会返回表中所有列数据
  • 使用'WHERE'语句来包含任何条件
  • 使用'LIMIT'属性来设定返回的记录数
语句 说明
SELECT * FROM 表名; 查询表中所有信息
SELECT 列1,列2,列3... FROM 表名; 查询表中列1,列2,列3...等字段的信息
SELECT * FROM 表名 WHERE 条件; 查询数据表中该条件语句下所有信息
SELECT * FROM 表名 WHERE 列 LIKE 'X%'; 查询列中以'X'开头的所有数据信息
SELECT * FROM 表名 WHERE 列 BETWEEN 'M' AND 'N'; 查询数据表中列在条件M和N之间的所有数据信息
SELECT * FROM 表名 WHERE 列 in (M,N); 查询数据表中列在固定条件M个N中的所有数据
SELECT DISTINCT 列 FROM 表名; 查询去重值(比如查看都有多大的年龄,年龄中都有同样的20岁,去重后只会显示一个20岁的)
SELECT * FROM 表名 WHERE 列1 >/</= 值1 AND 列2 >/</= 值2; 查看数据表中范围条件数据
SELECT * FROM 表名 WHERE 列 = 值1 OR 列 = 值2; 查询数据表中条件不同值的数据
SELECT * FROM 表名 ORDER BY 列; 查询数据表中值通过列排序结果
SELECT * FROM 表名 ORDER BY 列 DESC; 查询表下排序结果降序
SELECT * FROM 表名 LIMIT M; 查询表下数据范围,前M行字段数据
SELECT * FROM 表名 LIMIT M,N; 查询从M行开始下的N行数据
SELECT name as zzz FROM 表名; 别名查询表下数据

注: 上述'*'均可由数据表中列替换,若要查找几项列的信息,则列之间用','隔开;如:SELECT 列1,列2,列3...FROM 表 WHERE 条件;

修改

注: MySQL数据表中修改或更新数据,通常使用UPDATE语句

  • 可以同时更新一个或多个字段
  • 可以在WHERE条件中指定任何条件列的修改
  • 可以在一个单独表中同时更新数据
  • 可以更新数据表中所有数据
语句 说明
UPDATE 表名 SET 列名1 = 值1; 将表中所有信息的列1都进行修改
UPDATE 表名 SET 列1 = 新值1,列2 = 新值2... WHERE 条件 将表中特定条件的列信息修改;修改特定的列内容,WHERE后面跟条件语句,后跟条件语句和查询语句句式一样
UPDATE 表名 SET 列 =REPLACE(lie,'old_sting','new_string') WHERE 条件; 将条件语句下列中特定字符串改为其他字符串
ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束 新注释; 修改列数据类型,约束

添加

语句 说明
ALTER TABLE 表名 ADD 列名 数据类型 约束 注释; 添加列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束 注释; 新增列
ALTER TABLE 表名 ADD 新增列名 数据类型 约束 注释 AFTER 列名N; 新增列在列N之后

ALTER TABLE 表名 ADD 列名 数据类型 约束 注释 FIRST;将列添加到表首

重命名

语句 说明
REMARE TABLE 原表名 TO 新表名; 重命名表
ALTER TABLE 原表名 REMARE 新表名; 重命名表
ALTER TABLE 原表名 REMARE TO 新表名; 重命名表
ALTER TABLE 表名 CHANGE 原列名 新列名 数据类型 约束条件 注释; 重命名列,并对列做修改

删除

删除表时要注意,执行完删除后,数据都会消失

语句 说明
DROP DATABASE 库名; 删除数据库
DROP DATABASE IF EXISTS 库名; 如果数据库存在则删除
DROP TABLE 表名; 删除数据表全部数据和表结构,立刻释放磁盘空间,不管时默认存储引擎InnoDB还是MyISAM
TRUNCATE TABLE 表名; 清楚表中数据,但保留表结构
ALTER TABLE 表名 DROP 列名; 删除表中指定某列
ALTER TABLE 表名 DROP CULUMN 列; 删除指定列
DELETE FROM 表名 WHERE 条件; 删除表中指定该条件的信息(where条件和查询条件句式一样)
  • 注: 当不用该表时,用DROP
  • 当要保留表结构,但要清除表中所有记录时,用TRUNCATE
  • 要删除部分记录时,用DELETE

其他

语句 说明
DESC 表名; 展示表结构
PRIMARY KEY(列) 将列设置为主键,可以在创建表开头使用,也可以在末尾使用
AUTO_INCREMENT 递增,一般用于主键,数值+1,以上一个数值为基础

退出

语句 说明
EXIT/QUIT/\q 退出数据库
                                          蔚蓝天空
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,790评论 5 116
  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 3,156评论 0 33
  • 深夜里 我辗转反侧难以入眠 我恐惧着我的恐惧 我到底能不能行 我曾一千遍的问自己 我可不可以变得更好一点 你却轻轻...
    书拉蜜女_阅读 314评论 0 3
  • 01 昨天看到一个小仙女发的朋友圈,duang的一下就被打动了。 “我一个人出差,照顾一大帮子人。白天工作,晚上还...
    艾娃微阅读 918评论 15 21
  • 春催早归茶园香, 东阁门,西阁窗。 卸去红妆,着我旧时裳。 本是邻家采茶女, 背竹篓,入山冈。 轻采绿芽双手忙, ...
    隔壁Uncle王阅读 312评论 0 2