数据表基本操作集

网友投稿 548 2022-10-19

数据表基本操作集

数据表基本操作集

删除数据库

DROP DATABASE  test1

创建数据库

CREATE DATABASE test_728

设置字符集

CHARACTER SET utf8

在数据库test_728中创建表students

CREATE TABLE students(

id VARCHAR(10),
name VARCHAR(15)
)

修改id列长度为20

ALTER TABLE students MODIFY id VARCHAR(20) NOT NULL DEFAULT ''

显示表结构

DESC students

删除berthday 字段

ALTER TABLE students DROP berthday
# 显示表结构
DESC students

添加列

AlTER TABLE students
ADD (
berthday VARCHAR(10)

)

增加一个字段

ALTER TABLE students
ADD(
age int(15)
)
#显示表结构
DESC students

修改表名

RENAME TABLE students TO person

显示表结构

DESC person

修改表字符集

ALTER TABLE person  CHARACTER SET utf8

#显示表结构
DESC person

修改表id字段为 u_id

ALTER TABLE person CHANGE id u_id VARCHAR(50)

INSERT 语句练习

-- 创建testdemo表
-- 里面有 name、age、hobby字段
CREATE TABLE testdemo(
name VARCHAR(5) ,
age int(2),
hobby VARCHAR(15) );
-- 显示表结构
DESC testdemo
-- 为各个字段赋值
INSERT INTO testdemo (name,age,hobby)
VALUES('张三',18,'吃烧烤');

测试题

-- 创建数据库,school 字符集utf8,校验区分大小写
-- 1 创建students数据表,有(int)s_id、(varchar)s_name、(int)s_age三个字段且都不能为空,
-- 2 往表中添加两条记录分别为小明、小文
-- 3 修改s_id类型为(varchar)
-- 创建数据库且指定字符集和校验方式
CREATE DATABASE school CHARACTER SET utf8  COLLATE utf8_bin;
-- 1 创建students数据表,有(int)s_id、(varchar)s_name、(int)s_age三个字段且都不能为空,
CREATE TABLE students (
s_id INT NOT NULL DEFAULT 0,
s_name VARCHAR(5)NOT NULL DEFAULT '',
s_age int
);

-- 2 往表中添加两条记录分别为小明、小文
INSERT INTO students(s_id,s_name,s_age)
VALUES(001,'小明',18),
(002,'小文',20);
-- 3 修改s_id类型为(varchar)
ALTER TABLE students MODIFY s_id VARCHAR(20) NOT NULL

UPDATE语句

-- 修改年龄都为18
UPDATE students SET s_age = 18

查询表中所有信息

SELECT * FROM students

将小文修改为20

UPDATE students SET s_age=200 WHERE s_name = '小文';

DELETE语句

-- 删除整张学生表
DELETE FROM students
-- 删除小明的整条记录
DELETE FROM students WHERE s_name = '小明'
SELECT * FROM students

SELECT 语句

-- 先创建表添加数据
-- 创建person表含有id、name、Chinese、English、math等属性,且id不能为空
CREATE TABLE person (
id VARCHAR(12) NOT NULL,
name VARCHAR(10),
chinese int,
english int,
math int
)
-- 写入数据
INSERT INTO person(id,name,chinese,english,math)VALUES(001,'张菲',95,60,99),(002,'关于',88,66,90);
insert into person(id,name,chinese,english,math) values(1,'韩顺平',89,78,90);
insert into person(id,name,chinese,english,math) values(2,'张飞',67,98,56);
insert into person(id,name,chinese,english,math) values(3,'宋江',87,78,77);
insert into person(id,name,chinese,english,math) values(5,'赵云',82,84,67);
insert into person(id,name,chinese,english,math) values(6,'欧阳锋',55,85,45);
insert into person(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);

查询所有person信息

SELECT * FROM person

查询张菲所有信息

SELECT * FROM person WHERE name = '张菲'

SELECT 查询可以计算:查询张菲总分

SELECT name,(chinese+english+math) FROM person WHERE name='张菲'

SELECT 查询可以重命名,查询总分并以总分命名

SELECT name,(chinese+english+math) AS '总分' FROM person WHERE name = '张菲'

WHERE 运算符的使用

比较运算符

-- 查询表中全部数据
SELECT * FROM person
-- 查询person表中张菲的语文和数学成绩
SELECT  name,chinese AS '语文',english AS '英语' FROM person WHERE name = '张菲'

-- 查询数学成绩在60-90之间包含两端的同学姓名
SELECT name FROM person
WHERE math BETWEEN 60 AND 90

-- 查询数学成绩为60、90、56、77的同学姓名
SELECT name FROM person
WHERE math IN(60,90,56,77)
-- 插入张麻子同学
INSERT INTO person (id,name,chinese,english,math)
VALUES(008,'张麻子',99,99,99)
-- 模糊查询姓张的同学所有信息
SELECT * FROM person
WHERE  name LIKE '张%'

逻辑运算符 and 、or、not

where测试题

-- 查询数学成绩大于90且语文大于80的同学所有信息
SELECT * FROM person
WHERE chinese > 80 AND math > 90

-- 查询英语成绩大于语文的同学
SELECT * FROM person
WHERE english > chinese

-- 查询总分大于200且,姓张的同学的数学成绩
SELECT name AS '姓名',math AS '数学' FROM person
WHERE (chinese+english+math)>200 AND name LIKE '张%'

ORDER BY子句用于排序 ASC代表升序、DESC降序

-- 查询所有语文大于80学生信息,以数学成绩降序排序输出

SELECT * FROM person
WHERE  chinese> 80  ORDER BY math DESC

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Lolly- 轻量级 PHP Web 框架
下一篇:Android 快速开发框架 Andbase2X
相关文章

 发表评论

暂时没有评论,来抢沙发吧~