MySQL 基础语句的练习

-- *** ①、对数据库的操作 *** --

-- 查看所有的数据库

SHOW DATABASES;

-- 创建数据库

CREATE DATABASE day1026

DEFAULT CHARACTER SET utf8;

-- 查看该数据库的所有表

SHOW TABLES;

-- 使用刚建的数据库

USE day1026;

-- *** ②、对表的操作 *** --

-- 创建表

CREATE TABLE personnel

(

id INT,

NAME VARCHAR(20),

gender VARCHAR(2),

birthday DATE,

email VARCHAR(10),

remark VARCHAR(50)

);

-- 查看指定表的结构

DESC personnel;

-- 修改表的名称

ALTER TABLE personnel RENAME TO teachr;

ALTER TABLE teachr RENAME TO personnel;

-- *** ③、对列的操作 *** --

-- 在表中增加列

ALTER TABLE personnel ADD COLUMN age VARCHAR(3);

-- 修改列的长度

ALTER TABLE personnel MODIFY remark VARCHAR(50);

-- 删除列

ALTER TABLE personnel DROP COLUMN remark;

-- 修改列的名称

ALTER TABLE personnel CHANGE NAME username VARCHAR(20);

-- *** ④、对数据的操作 *** --

-- (为了方便,另外创建个少列的表)

CREATE TABLE person(

id VARCHAR(20),

NAME VARCHAR(10),

age INT,

sex VARCHAR(5)

);

DESC person;

-- ④.1:添加数据 (按照顺序插入所有字段)

INSERT INTO person VALUES(1,'张三',20,'男');

-- 添加数据 (部分数据)

INSERT INTO person (id,NAME,age) VALUES (2,'李四',21);

INSERT INTO person (NAME)VALUES ('王五');

-- 修改数据(所有数据,建议少用)

UPDATE person SET sex = '女';

-- 修改指定的数据(推荐使用)

UPDATE person SET sex = '男' WHERE id = 1; -- 把id为1那位的性别改为男

-- 修改多个字段,注意: SET 字段名=值,字段名=值,....

UPDATE person SET sex = '女' ,age = 20 WHERE NAME = '王五';

-- 把王五的性别改为男,年龄改为20

-- ④.2、删除数据

-- 删除数据(所有的数据,少用)

DELETE FROM person;

-- 带条件的删除(推荐使用)

DELETE FROM person WHERE id = 1;

-- 另一种删除方式(全部删除)

TRUNCATE person;

-- delete from: 1)可以全表删除 ,可以带条件删除 2)只能删除表的数据,不能删除表的约束 3)使用delete from删除的数据可以回滚(事务)

-- truncate table: 1)可以全表删除,不能带条件删除 2)即可以删除表的数据,也可以删除表的约束 3)使用truncate table删除的数据不能回滚

TRUNCATE TABLE student;

-- 建立一个带有自增长的数据的表

CREATE TABLE test(

id INT PRIMARY KEY AUTO_INCREMENT,-- 自增

NAME VARCHAR(10)

);

-- 添加数据,但不添加id的

INSERT INTO test (NAME) VALUES('张三');

INSERT INTO test (NAME) VALUES('李四');

-- 可以发现,自动赋予id且自增 1、2

-- 如果用delete from 删除,再进行添加数据,那么id会为3,也就是回滚,数据可以恢复的

-- 如果是用truncate 删除,再进行添加数据,那么id从1开始,无法回滚,数据无法恢复

-- 查看所有列的数据

SELECT *FROM person;

SELECT *FROM test;

-- *** ⑤、查询数据 *** --

-- 5.1 查询所有列

SELECT *FROM person;

-- 5.2 查询指定列

SELECT id,NAME FROM person;

-- 5.3、查询时可以指定别名 (表的别名不能是字符串)

-- 注意:在多表查询时经常使用表的别名

SELECT id AS '身份证', NAME AS '姓名' FROM person AS s;

-- 使用了别名后,就可以用别名来查询它的数据

-- 5.4、查询时添加常量列

-- 需求:在查询person表时,添加一列住址列:内容为“中国”

SELECT id,NAME,age,sex,'中国' AS China FROM person;

-- 5.5、查询时合并列

-- 首先给这个表创建2个列,以便示范

ALTER TABLE person ADD java INT ,ADD c INT;

UPDATE person SET java = 80, c = 80 WHERE id = 2;

-- 查询每个人的java和c的总成绩

SELECT id,NAME,(java+c) AS '总成绩' FROM person;

-- 注意:合并列只能合并数值类型的字段

-- 5.6、查询时去除重复记录

SELECT sex FROM person; -- 这样的话,会列出女、男、男这样的数据

-- 需求: 查询数据内有什么性别

-- 方法1:

SELECT DISTINCT sex FROM person; -- 如果数据内只有男,则只显示1个男,如果男女都有,则显示两个:男、女

-- 方法2:查询有什么年龄

SELECT DISTINCT (age) FROM person;

-- 5.7、条件查询 (where)

-- 5.7.1 逻辑条件: and(与) or(或)

-- and(与):查询id为2,姓名为李四的人的信息

SELECT * FROM person WHERE id = 2 AND NAME = '李四';

-- or(或):查询id为1,或者姓名是张三的人的信息

SELECT * FROM person WHERE id = 2 OR NAME = '张三';

-- 5.7.2 比较条件: > 、< 、>= 、<= 、<>(不等于)、between and

-- 查询java成绩大于等于80,且小于等于90的人

SELECT * FROM person WHERE java >=80 AND java <= 90;

-- 另外一种语法

SELECT * FROM person WHERE java BETWEEN 80 AND 90;-- 包左包右

-- 查询不是男的0的人

SELECT * FROM person WHERE sex <>'男';

-- 5.7.3 判空条件:(null 空字符串): is null / is not null / =='' / <>''

-- null 和 空字符串 的区别:

-- null:没有值

-- 空字符串:有值,是空字符串

-- 查询性别为null的人(当时没赋值)

SELECT * FROM person WHERE sex IS NULL;

-- 查询性别为空字符串的人

SELECT * FROM person WHERE sex IS '';

SELECT * FROM person WHERE sex IS NULL OR sex IS '';

-- 查询填写了性别的人(非null和非空)

SELECT * FROM person WHERE sex IS NOT NULL AND sex <>'';

-- 5.7.4 模糊条件:like

-- 通常使用这些替换标识符:

-- %:替换任意个数字符

-- _:替换一个字符

-- 查询姓‘张’的人

SELECT * FROM person WHERE NAME LIKE '张%';

-- 查询姓‘李’并且姓名只有两个字的人

SELECT * FROM person WHERE NAME LIKE '张_';

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

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,645评论 18 399
  • 以下只是部分招工补贴企业,补贴300~2500元不等 昆山世硕: 综合工资:3500-4000元录用条件:1、年龄...
    28a3f1889778阅读 509评论 0 0
  • 冬天的气温说降就降,昨天还在给妈妈讲,今年的冬天一点都不冷,看来是要过个暖冬了。 今早起来,一点雨就让气温下降了5...
    何倩_母乳指导阅读 216评论 0 2
  • 佛说:前世,你是我亲手种下的一株碗莲,别的莲都开了,只有你,直到枯萎,也没能把你清丽的容颜展现在我眼前。 一.前缘...
    那片海葬着未亡人阅读 897评论 0 0