数据库 mysql基本操作

1)创建数据库

(一步步运行,先运行创建,再使用,再创建表)
– sql 语句
– create database demo231 – 创建数据库
USE demo231 – 使用数据库

– sql语句
– create table 表名称(
– 列名 列的数据类型
– 列名 列的数据类型
– )

CREATE TABLE t_student(
s_id INT,
s_name VARCHAR(10), – char(10) 区别:var 根据内容占字节 char永远10个字节
s_sex VARCHAR(2),
s_age INT
)

2)删除数据库

删除
DROP DATABASE demo231
DROP TABLE t_student

3)约束

数据完整性:
实体完整性 — 保证每一行数据有效 主键
域完整性 — 保证每一列数据有效 unique 默认 非空
引用完整性— 保证表与表之间数据有效 外键约束 t添加在从表上
用户自定义完整性

– PRIMARY KEY 保证实体完整性
自增长 auto_increment
– NOT NULL 列不为空
– UNIQUE 唯一
– default 默认约束

外键约束 添加在从表上 references
**添加外键约束的表的时候需要先添加主表
**外键约束情况下,先添加主表数据,然后添加从表数据
**先删从表,再删主表

-- 学生表
CREATE TABLE t_student (
s_id INT PRIMARY KEY,
s_name VARCHAR(20),
s_age INT,
s_sex CHAR(4),
s_birthday DATE,
s_ruxuxe DATETIME,
s_classid VARCHAR(20),
CONSTRAINT FOREIGN KEY (s_classid) REFERENCES  t_class(c_id)  -- 添加外键约束
)
-- 学生表
CREATE TABLE t_student (
s_id INT PRIMARY KEY AUTO_INCREMENT,
s_name VARCHAR(20) NOT NULL,
s_age INT,
s_sex VARCHAR(2) DEFAULT '男',
s_phone VARCHAR(11),
s_xueli VARCHAR(10),
s_birthday DATE
)CHARSET='utf8';


CREATE TABLE t_class(
c_id INT PRIMARY KEY,
c_name VARCHAR(10)
)
-- 先删从表,再删主表
DROP TABLE t_class
DROP TABLE t_student

4)数据操作

<1>添加数据

insert into 表名(列名1,列名2) values (列对应值1,列对应值2)

– insert into 表名(列名1,列名2) values (列对应值1,列对应值2)

INSERT INTO t_class(c_id,c_name) VALUES (1,'一班')

INSERT INTO t_class(c_id,c_name) VALUES (2,'二班'),(3,'三班')

<2>删除数据

delete from 表名 where(条件)AND 并且

delete from t_student where s_sex = '男' and s_name = '张三'

delete from t_student  -- 删除数据
删除所有
TRUNCATE  表名
DELETE FROM 表名

delete和truncate的区别如下:
1、delete可以删除表中的一条或多条数据,也可以删除全部数据;而truncate只能将表中的全部数据删除。
2、delete删除表数据后,标识字段不能复用。也就是说如果你把id=10(假如id是标识字段)的那行数据删除了,你也不可能再插入一条数据让id=10.
;truncate删除表数据后,标识重新恢复初始状态。默认为初始值为1,也就是说,truncate之后,再插入一条数据,id=1.

<3>更新数据

UPDATE 表名 SET s_sex = ‘男’ WHERE(条件)

UPDATE t_student SET s_sex = '男' WHERE s_id = 3

<4>查询数据 select as 修改别名 子查询

as 修改别名

子查询,查询学生班级名称和姓名
select s_classid from t_student
模糊查询 列名 like ‘郑%’

<5>操作表结构 一般情况不会用SQL操作表结构

1) 添加字段 —— ADD

    ALTER TABLE 表名 ADD 列名 类型

ALTER TABLE student ADD id INT;

2)删除字段 —— DROP

ALTER TABLE 表名 DROP 列名;

ALTER TABLE student DROP COLUMN s_birthday;

3) 修改列类型 —— MODIFY

      ALTER TABLE 表名 MODIFY 列名 新的类型;
ALTER TABLE student MODIFY name VARCHAR(50);

4)修改字段——CHANGE

ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

ALTER TABLE student CHANGE remark intro VARCHAR(30);

5)修改表名

RENAME TABLE 表名 TO 新表名;

RENAME TABLE student TO student2;

–将学生表student改名成student2

备份表
CREATE TABLE t_student_bak SELECT * FROM t_student


排序order by :

order by 默认是升序
desc: 降序
asc: 升序

返回限定行limit:

limit [offset,] N
offset 偏移量,可选,不写则相当于limit 0,N
N 取出条目

聚合函数

(1)max(列名):求最大值。
(2)min(列名):求最小值。
(2)sum(列名):求和。
(4)avg(列名):求平均值。//不会统计分数为空的
(5)count(列名):统计记录的条数。

表联接 join on

left join :左边的表为主表
right join

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值