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

 -- 查看所有的数据库
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 '张_';

MySQL 基础语句的练习的更多相关文章

  1. MySQL 基础语句

    MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...

  2. MySQL基础语句与其在Python中的使用

    一.MySQL基础语句 $ mysql -u root -p (有密码时) $ mysql -u root     (无密码时) QUIT (or \q)  退出 查看当前所有数据库 show dat ...

  3. MySQL基础语句【学习笔记】

    放在这里,以备后查. 1. 数据库, 数据库服务器, 数据库语言 数据库,是持久性数据的集合,供给定企业的应用程序系统使用,并且由一个数据库管理系统来管理: 数据库服务器,又称数据库管理系统,用来管理 ...

  4. 入门MySQL——基础语句篇

    前言:  前面几篇文章,我们介绍了MySQL的基础概念及逻辑架构.相信你现在应该有了自己的一套MySQL环境,接下来我们就可以开始练习MySQL了.本文将从MySQL最基础的语句出发,为你展示出创建及 ...

  5. MYSQL基础语句

    参考书籍< MySQL数据库基础与实例教程> --孔祥盛 SQL(structured query language)结构化查询语言,应用最为广泛的关系型数据库语言. MYSQL属于关系型 ...

  6. 2-14-1 MySQL基础语句,查询语句

    一. SQL概述 结构化查询语言(Structured Query Language)简称SQL 1. 它是一种特殊目的的编程语言 2. 它还是一种数据库查询和程序设计语言 (用于存取数据以及查询.更 ...

  7. MySQL基础语句(MySQL内置函数 )

    MySQL 字符串函数 函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码. 返回 CustomerName 字段第一个字母的 ASCII 码: SELECT ASCI ...

  8. MySQL 基础语句的练习2

    CREATE TABLE student ( id INT, NAME ), Chinese FLOAT, English FLOAT, Math FLOAT ); ,,,); ,,,); ,,,); ...

  9. MySQL基础语句(修改)

    ①INSERT INSERT INTO students (class_id, name, gender, score) VALUES (2, '大牛', 'M', 80); 向students表插入 ...

随机推荐

  1. Atitit.木马病毒强制强行关闭360 360tray.exe的方法

    Atitit.木马病毒强制强行关闭360 360tray.exe的方法 1. taskkill /im 进程名称1 2. 用 wmic process where name="进程名称&qu ...

  2. Large-file-chunk-size 设置最大文件上传值

    Large-file-chunk-size: Stsadm property (Office SharePoint Server) SharePoint 2007   0 out of 1 rated ...

  3. iOS中的物理引擎

    目前知名的2D物理引擎有 Box2d,和Chipmunk,这些是跨平台的.但苹果本身也封装了一个物理引擎, UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架.这可以让开发人员 ...

  4. 操作系统开发系列—13.g.操作系统的系统调用 ●

    在我们的操作系统中,已经存在的3个进程是运行在ring1上的,它们已经不能任意地使用某些指令,不能访问某些权限更高的内存区域,但如果一项任务需要这些使用指令或者内存区域时,只能通过系统调用来实现,它是 ...

  5. 检测Xcode是否有问题

    之前的XCode中毒事件闹得沸沸扬扬,在网上找到检测XCode完整性的方式,有需要的小伙伴试试吧.忘记哪里转的了,愧对原创者 在终端输入 spctl 命令,并带上安装的 Xcode 的路径: spct ...

  6. 深入.net(多态一)

    代码优化技术: 当您在 编写一个类时,如果您发现你需要编写的“属性”和“方法”曾经在已有的类中实现,则,您可以将其共用的“属性”和“方法”剪切到一个新的“类”中,然后,让两个类共同继承这个“新类”.( ...

  7. [Android]proguard重新编译和如何不混淆第三方jar包

    转载自:http://glblong.blog.51cto.com/3058613/1536516 一.ant安装.环境变量配置及验证 (一)安装ant 到官方主页http://ant.apache. ...

  8. 搭建Maven私服

    最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...

  9. PlantUML的实例参考

    project: blog target: plant-uml-instances.md date: 2015-12-24 status: publish tags: - PlantUML - UML ...

  10. RFID应用范围

    RFID应用范围 (1)物流: 物流过程中的货物追踪,信息自动采集,仓储应用,港口应用,邮政,快递 (2)零售: 商品的销售数据实时统计,补货,防盗 (3)制造业: 生产数据的实时监控,质量追踪,自动 ...