A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 人生丶 初级黑马   /  2018-12-6 18:50  /  649 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 数据库的英文单词: DataBase 简称 : DB

1. mysql -uroot -p密码

MySQL退出                  exit

用来定义数据库对象:数据库,表,列等。关键字:create, DROP,ALTER ,show等
用来对数据库中表的数据进行增删改。关键字:insert, DELETE, UPDATE 等
用来查询数据库中表的记录(数据)。关键字:select, WHERE 等

#DDL:操作数据库 crud
#c创建
CREATE DATABASE num1;#创建数据库:

CREATE DATABASE  IF NOT EXISTS num2;#创建数据库,判断不存在,再创建:

CREATE DATABASE num3 CHARACTER SET utf8;#创建数据库,并指定字符集

CREATE DATABASE IF NOT EXISTS db4 CHARACTER SET gbk;#练习: 创建db4数据库,判断是否存在,并制定字符集为gbk
#r查询
SHOW DATABASES;#查询所有数据库的名称:

SHOW CREATE DATABASE db1;#查询某个数据库的字符集:查询某个数据库的创建语句
#u修改
ALTER DATABASE db1 CHARACTER SET gbk;#修改数据库的字符集
#d删除
DROP DATABASE IF EXISTS dm3;#删除数据库

DROP DATABASE IF EXISTS dm3;#判断数据库存在,存在再删除



DDL:操作表 crud
#r查询
SHOW TABLES;#查询某个数据库中所有的表名称

DESC db2;#查询表结构
#c创建
CREATE  TABLE  db2(
        id INT,
        na VARCHAR(20),
        age INT,
        score DOUBLE(3,2),
        birthday DATE,
        insert_time TIMESTAMP
);#创建表

#复制
CREATE TABLE db3 LIKE db2;#复制表:



#u修改

#修改表名
ALTER TABLE num RENAME TO age;
#修改表的字符集(相当于utf8,改编码)
ALTER TABLE age CHARACTER SET gbk;
#添加一列
ALTER TABLE age ADD ddo INT;

#修改列名称 类型

ALTER TABLE 表名 CHANGE 列名 新列别 新数据类型;
ALTER TABLE 表名 MODIFY 列名 新数据类型;

#删除列
ALTER TABLE 表名 DROP 列名;

#D(Delete):删除
DROP TABLE 表名;
DROP TABLE  IF EXISTS 表名 ;



# DML:增删改表中数据

#查询
SELECT * FROM student;

#添加数据:
INSERT INTO student VALUES(1,"王五",10,99.9,"1998-08-12",NULL);
INSERT INTO student VALUES(2,"王六",20,88.8,"1998-08-12",NULL);
INSERT INTO student VALUES(3,"王七",30,77.7,"1998-08-12",NULL);
INSERT INTO student VALUES(4,"王八",40,66.6,"1998-08-12",NULL);
INSERT INTO student VALUES(5,"王九",50,55.5,"1998-08-12",NULL);

#删除
DELETE FROM student WHERE id=5;

#修改
UPDATE student SET id=4 WHERE id=1;



#DQL:查询表中的记录

#查询
SELECT * FROM student;

#基础查询,字段的查询
SELECT age,score FROM student;

-- 查询年龄大于等于20 小于等于40
SELECT * FROM student WHERE age >= 20 && age <= 40;

-- 查询姓名中包含德的人
SELECT * FROM student WHERE NAME LIKE '_七';

-- 排序查询(倒序)
SELECT *FROM student ORDER BY AGE COUNT;



#聚合函数:将一列数据作为一个整体,进行纵向的计算。

#count:计算个数
SELECT COUNT(age) FROM student;

#max:计算最大值
SELECT MAX(age) FROM student;

#min:计算最小值
SELECT MIN(age) FROM student;

#sum:计算和
SELECT SUM(age) FROM student;

#avg:计算平均值
SELECT AVG(age) FROM student;




#分组查询  GROUP BY
SELECT * FROM GROUP BY NAME;

-- 按照性别分组。分别查询男、女同学的平均分  GROUP BY
SELECT sex , AVG(math) FROM student GROUP BY sex;

#分页查询 LIMIT
#公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数
SELECT * FROM student LIMIT 0,3; -- 第1页



#约束

#主键约束:primary key
#创建非空且唯一,一张表只能有一个字段为主键,主键就是表中记录的唯一标识
CREATE TABLE stu(
        id INT PRIMARY KEY,-- 给id添加主键约束
        NAME VARCHAR(20)
);

#删除主键
ALTER TABLE stu DROP PRIMARY KEY;


#非空约束:not null,某一列的值不能为null
创建表时添加约束
CREATE TABLE stu(
        id INT,
        NAME VARCHAR(20) NOT NULL -- name为非空
);

#创建表完后,添加非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;

#删除name的非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(20);

#唯一约束:unique,某一列的值不能重复
#在创建表时,添加唯一约束
CREATE TABLE stu(
        id INT,
        phone_number VARCHAR(20) UNIQUE -- 手机号
);

#删除唯一约束
ALTER TABLE stu DROP INDEX phone_number;

#在表创建完后,添加唯一约束
ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;



#外键约束:foreign key,让表于表产生关系,从而保证数据的正确性。
#在创建表时,可以添加外键
CREATE TABLE 表名(
....
外键列
CONSTRAINT 外键名称 FOREIGN KEY (外键列名称) REFERENCES 主表名称(主表列名称)
);

#删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

#创建表之后,添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马