黑马程序员技术交流社区

标题: 数据库 [打印本页]

作者: zz222    时间: 2019-7-14 14:46
标题: 数据库
mysql有一个配置文件很重要my.ini,mysql是一种关系型数据库,所以支持sql语句的规范
一条语句以分号结尾, 关键词建议大写, sql不区分大小写, 注释三种(单行注释:--空格,#,多行注释/*注释内容*/)
DDL:数据库定义语言,专门操作数据库和表的增删改查
        create(增加),drop(删除),alter(修改),show(查询),modify(修改),change(修改),add(添加),rename(重命名)
        DML:数据库操作语言,专门针对表中的数据的增删改
                update delete insert, where(挂条件用的)
        DQL:数据库查询语言,专门针对表中数据的查询
                select, where, group by, order by, limit, having,....
        DCL:数据库控制语言,专门用来创建用户,删除用户, 授权, 撤权
                grant
*************************DDL语句*********************************
-------数据库的操作---------
创建数据库(!!!!!!!!!!!!!!!!!!)
CREATE DATABASE db1;
了解内容
查询数据库
SHOW DATABASES;
指定字符串创建数据库---有些数据库的编码指定是utf-8有些是utf8
CREATE DATABASE db2 CHARACTER SET utf8;
查询数据库的创建语句
SHOW CREATE DATABASE db2;
判断是否存在
CREATE DATABASE IF NOT EXISTS db3;
删除数据库
DROP DATABASE db2;
修改数据库,编码
ALTER DATABASE db2 CHARACTER SET gbk;
SHOW CREATE DATABASE db2;
使用数据库(!!!!!!!!!!!!!!!!!!)
USE db3;
/*-------表的操作---------*/
-- 查询所有的表
SHOW TABLES;
-- 查询表的结构
DESC HOST;
/*
        int 整数
        double小数
        date年月日
        datatime年月日时分秒
        timestamp年月日时分秒时间蹉
        varchar字符串
        注意 char和varchar的区别: varchar是可以变的,char是固定的, varchar更省空间
        创建表的格式:
                create table 表名(
                        字段名 字段类型 约束,
                        字段名 字段类型 约束,
                        ....
                        字段名 字段类型 约束(最后一个字段不加逗号)
                );
*/
-- 创建学生成绩表(!!!!!!!!!!!!!!!!!!)
- 删除表(建议少用或者不用)
DROP TABLE student_score;
-- 修改表名(建议少用或者不用)
ALTER TABLE student_score RENAME TO stu_score;

-- 修改表修改name的长度为10 ---->MODIFY只能修改类型(!!!!!!!!!!!!!!!!!!)
ALTER TABLE stu_score MODIFY NAME VARCHAR(10);
-- 修改表将name这个字段名字改成sname--->CHANGE可以改名字还可以改类型(!!!!!!!!!!!!!!!!!!)
ALTER TABLE stu_score CHANGE NAME sname VARCHAR(10);
-- 修改表添加一列"所属班级"--->ADD(!!!!!!!!!!!!!!!!!!)
ALTER TABLE stu_score ADD class VARCHAR(20);
ALTER TABLE stu_score ADD aaa VARCHAR(20);
-- 修改表删除表中的aaa这一列--->DROP(!!!!!!!!!!!!!!!!!!)
ALTER TABLE stu_score DROP aaa;

/*************************DML语句*********************************/
/*-------表的数据的添加INSERT---------*/
/*
(!!!!!!!!!!!!!!!!!!)
格式: insert into 表名(列名的列表) values(列值的列表)
简化格式: insert into 表名 values(所有列的列值列表)
批量插入格式: insert into 表名 values(所有列的列值列表),(所有列的列值列表),(所有列的列值列表)....
注意: 列名和列值要一一对应(不仅个数一样,类型也要一样)
*/

-- 采用标准格式插入
INSERT INTO stu_score (id,sname,chinese,math,english,class) VALUES(1,'梅军建',100,100,100,'一班');
-- 采用省略格式插入
INSERT INTO stu_score VALUES(2,'林青霞',100,100,100,'一班');
INSERT INTO stu_score VALUES(2,'李青霞',100,100,100,'一班');
INSERT INTO stu_score VALUES(2,'梅青霞',100,100,100,'一班');

-- 采用批量插入
INSERT INTO stu_score (id,sname,chinese,math,english,class) VALUES
(3,'黎姿',99,99,99,'二班'),
(4,'豆腐妹',88,88,88,'一班'),
(5,'小明',10,9,0,'一班')
;
/*-------表的数据的删除DELETE---------*/
/*
        (!!!!!!!!!!!!!!!!!!)
        delete from 表名 where 条件
        注意:一定要挂条件,不然出现全部删除的情况!!!!!
        如果真的想要删除所有的数据,我们建议truncate table 表名这种语句,因为效率高
学习心得:数据库知识错综复杂,英文单词难记,多敲多练多综合,提高非常快谢谢       




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2