博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 基础语句的练习
阅读量:4967 次
发布时间:2019-06-12

本文共 4444 字,大约阅读时间需要 14 分钟。

1 -- *** ①、对数据库的操作  *** --  2   3   4 -- 查看所有的数据库  5 SHOW DATABASES;  6   7 -- 创建数据库  8 CREATE DATABASE day1026  9 DEFAULT CHARACTER SET utf8; 10  11 -- 查看该数据库的所有表 12 SHOW TABLES; 13  14 -- 使用刚建的数据库 15 USE day1026; 16  17  18  19 -- *** ②、对表的操作  *** -- 20  21 -- 创建表 22 CREATE TABLE personnel 23 ( 24     id INT, 25     NAME VARCHAR(20), 26     gender VARCHAR(2), 27     birthday DATE, 28     email VARCHAR(10), 29     remark VARCHAR(50) 30 ); 31  32 -- 查看指定表的结构 33 DESC personnel; 34  35 -- 修改表的名称 36 ALTER TABLE personnel RENAME TO teachr; 37 ALTER TABLE teachr RENAME TO personnel; 38  39  40 -- *** ③、对列的操作  *** -- 41  42 -- 在表中增加列 43 ALTER TABLE personnel ADD COLUMN age VARCHAR(3); 44  45 -- 修改列的长度 46 ALTER TABLE personnel MODIFY remark VARCHAR(50); 47  48 -- 删除列 49 ALTER TABLE personnel DROP COLUMN remark; 50  51 -- 修改列的名称 52 ALTER TABLE personnel CHANGE NAME username VARCHAR(20); 53  54  55  56 -- *** ④、对数据的操作  *** -- 57  58 -- (为了方便,另外创建个少列的表) 59 CREATE TABLE person( 60     id VARCHAR(20), 61     NAME VARCHAR(10), 62     age INT, 63     sex VARCHAR(5) 64 ); 65  66 DESC person; 67  68 -- ④.1:添加数据 (按照顺序插入所有字段) 69 INSERT INTO person VALUES(1,'张三',20,'男'); 70 -- 添加数据 (部分数据) 71 INSERT INTO person (id,NAME,age) VALUES (2,'李四',21); 72 INSERT INTO person (NAME)VALUES ('王五'); 73  74 -- 修改数据(所有数据,建议少用) 75 UPDATE person SET sex = '女'; 76  77 -- 修改指定的数据(推荐使用) 78 UPDATE person SET sex = '男' WHERE id = 1; -- 把id为1那位的性别改为男 79  80 -- 修改多个字段,注意: SET 字段名=值,字段名=值,.... 81 UPDATE person SET sex = '女' ,age = 20 WHERE NAME = '王五'; 82 -- 把王五的性别改为男,年龄改为20 83  84 -- ④.2、删除数据 85  86 -- 删除数据(所有的数据,少用) 87 DELETE FROM person; 88  89 -- 带条件的删除(推荐使用) 90 DELETE FROM person WHERE id = 1; 91  92 -- 另一种删除方式(全部删除) 93 TRUNCATE person; 94  95 -- delete from:  1)可以全表删除 ,可以带条件删除  2)只能删除表的数据,不能删除表的约束     3)使用delete from删除的数据可以回滚(事务) 96 -- truncate table:  1)可以全表删除,不能带条件删除 2)即可以删除表的数据,也可以删除表的约束 3)使用truncate table删除的数据不能回滚 97 TRUNCATE TABLE student; 98  99 -- 建立一个带有自增长的数据的表100 CREATE TABLE test(101     id INT PRIMARY KEY AUTO_INCREMENT,-- 自增102     NAME VARCHAR(10)103 );104 -- 添加数据,但不添加id的105 INSERT INTO test (NAME) VALUES('张三');106 INSERT INTO test (NAME) VALUES('李四');107 -- 可以发现,自动赋予id且自增 1、2 108 -- 如果用delete from 删除,再进行添加数据,那么id会为3,也就是回滚,数据可以恢复的109 -- 如果是用truncate 删除,再进行添加数据,那么id从1开始,无法回滚,数据无法恢复110 111 -- 查看所有列的数据112 SELECT *FROM person;113 SELECT *FROM test;114 115 116 -- *** ⑤、查询数据  *** --117 118 -- 5.1 查询所有列119 SELECT *FROM person;120 121 -- 5.2 查询指定列122 SELECT id,NAME FROM person;123 124 -- 5.3、查询时可以指定别名 (表的别名不能是字符串)125 -- 注意:在多表查询时经常使用表的别名126 SELECT id AS '身份证', NAME AS '姓名' FROM person AS s; 127 -- 使用了别名后,就可以用别名来查询它的数据128 129 -- 5.4、查询时添加常量列130 -- 需求:在查询person表时,添加一列住址列:内容为“中国”131 SELECT id,NAME,age,sex,'中国' AS China FROM person;132 133 -- 5.5、查询时合并列134 -- 首先给这个表创建2个列,以便示范135 ALTER TABLE person ADD java INT ,ADD c INT; 136 UPDATE person SET java = 80, c = 80 WHERE id = 2;137 -- 查询每个人的java和c的总成绩138 SELECT id,NAME,(java+c) AS '总成绩' FROM person;139 -- 注意:合并列只能合并数值类型的字段140 141 -- 5.6、查询时去除重复记录142 SELECT sex FROM person; -- 这样的话,会列出女、男、男这样的数据143 -- 需求: 查询数据内有什么性别144 -- 方法1:145 SELECT DISTINCT sex FROM person; -- 如果数据内只有男,则只显示1个男,如果男女都有,则显示两个:男、女146 -- 方法2:查询有什么年龄147 SELECT DISTINCT (age) FROM person;148 149 -- 5.7、条件查询 (where)150 151 -- 5.7.1 逻辑条件: and(与) or(或)152 153 --  and(与):查询id为2,姓名为李四的人的信息154 SELECT * FROM person WHERE id = 2 AND NAME = '李四';155 156 --  or(或):查询id为1,或者姓名是张三的人的信息157 SELECT * FROM person WHERE id = 2 OR NAME = '张三';158 159 160 -- 5.7.2 比较条件: > 、< 、>= 、<= 、<>(不等于)、between and161 162 -- 查询java成绩大于等于80,且小于等于90的人163 SELECT * FROM person WHERE java >=80 AND java <= 90;164 -- 另外一种语法165 SELECT * FROM person WHERE java BETWEEN 80 AND 90;-- 包左包右166 167 168 -- 查询不是男的0的人169 SELECT * FROM person WHERE sex <>'男';170 171 172 -- 5.7.3 判空条件:(null 空字符串): is null / is not null / =='' / <>''173 -- null 和 空字符串 的区别:174 -- null:没有值175 -- 空字符串:有值,是空字符串176 177 -- 查询性别为null的人(当时没赋值)178 SELECT * FROM person WHERE sex IS NULL;179 180 -- 查询性别为空字符串的人181 SELECT * FROM person WHERE sex IS '';182 183 SELECT * FROM person WHERE sex IS NULL OR sex IS '';184 185 -- 查询填写了性别的人(非null和非空)186 SELECT * FROM person WHERE sex IS NOT NULL AND sex <>'';187 188 189 -- 5.7.4 模糊条件:like190 -- 通常使用这些替换标识符:191 -- %:替换任意个数字符 192 -- _:替换一个字符193 194 -- 查询姓‘张’的人195 SELECT * FROM person WHERE NAME LIKE '张%';196 197 -- 查询姓‘李’并且姓名只有两个字的人198 SELECT * FROM person WHERE NAME LIKE '张_';

 

转载于:https://www.cnblogs.com/LZL-student/p/6002078.html

你可能感兴趣的文章
管理信息系统 第三部分 作业
查看>>
[Leetcode Week13]Search a 2D Matrix
查看>>
查看端口占用cmd命令
查看>>
2019.01.17王苛震作业
查看>>
清除浮动
查看>>
PayPal(贝宝)支付接口、文档、IPN
查看>>
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
查看>>
本地存储
查看>>
MP3的播放与停止
查看>>
牛客(59)按之字形顺序打印二叉树
查看>>
JavaScript 图表库 xCharts
查看>>
Android项目的目录结构
查看>>
C++中“引用”的底层实现
查看>>
Spring Cloud与微服务构建:微服务简介
查看>>
Babel 是干什么的
查看>>
cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
查看>>
CODE[VS] 1842 递归第一次
查看>>
20180418小测
查看>>
数字三角形
查看>>
NGUI 减少drawcall规则
查看>>