当前位置 博文首页 > mataodehtml的博客:java学习之路——第四十天

    mataodehtml的博客:java学习之路——第四十天

    作者:[db:作者] 时间:2021-08-11 09:46

    Mysql day02

    1.mysql数据库的快速入门

    ???????? # 创建一个java1810_1数据库

    ???????? create database java1810_1;

    ???????? --使用我们创建的数据库

    ???????? use java1810_1;

    ?

    ???????? # 创建一张学生表 t_student

    ???????? create table 表名(

    ?????????????????? 列名 列类型,

    列名 列类型,

    列名 列类型,

    列名 列类型

    );

    ????????

    ???????? # 查看当前数据库中有哪些表

    ???????? show tables;

    ????????

    /*??? 向数据库中的表插入数据(记录)???

    插入部分的列???????

    insert into 表名(要插入的列名1,列名2,,,) values(填写对应的列值,,,)???

    插入全部的列???????

    insert into 表名 values(列值1,,,,) */

    ?-- 插入所有的列

    insert into t_student values(1001,'zhangsan',22,'hefei','好学生'); i

    nsert into t_student values(1003,'王五',24,'安庆','好学生');

    ?-- 插入部分列

    -- 未插入的列,以null值补全

    insert into t_student(sno,name,age) values(1002,'lisi',23);

    -- 查询表中的所有记录

    select * from t_student;

    ?

    -- 删除表中的记录

    -- 删除满足条件的记录

    -- 删除学号是 1002 的学生信息

    delete from t_student where sno=1002;

    -- 删除所有记录

    ?delete from t_student;

    ?-- 删除表

    drop table t_student;

    -- 删除数据库

    ?drop database java1810_1;

    ????????

    ?

    2、SQL语言的分类

    标准的SQL 分为? DDL? DML? DCL

    ?

    因为查询语句在SQL中比较重要,用的也很多,所以将查询从DML 中分离出来 形成一个DQL语句。

    ?

    将安全事务从DCL 分离形成 TCL 语句

    ?

    现在的语句一般认为有下面几种

    ?

    DDL(★★★)??

    ?数据定义语言,代表关键字为? create drop alter

    DML(★★★)??? 数据操纵语言,代表关键字为? insert,update,delete

    DCL

    安全性相关的,主要是负责对数据库用户的操纵(创建,授权,收权,删除... 主要是DBA的工作) DQL (程序员重点掌握★★★★★)??? 数据查询语言,代表关键字为? select

    TCL (★★★★★)??? 事务控制语言, commit? rollback...

    ?

    3、DDL? SQL语言

    1. 创建数据库

    ?2. 删除数据库

    ?3. 创建表

    ?4. 删除表

    ?5. 修改表

    ?

    ?

    ?

    ??

    -- 1. 创建数据库

    ?/*??? create database 数据库名字; */

    ?-- 2. 删除数据库

    ?/*??? drop database 数据库名字; */

    -- 3. 创建表

    ?/*??? create table 表名(??????? 列名? 列类型,??????? 列名? 列类型,?????? ?......??????? 列名? 列类型??? );

    ?

    ??? SQL建议,所有的关键字大写.??? */

    ?CREATE TABLE t_student(?

    ? sno INT,?

    ? NAME VARCHAR(30),?

    ? sex INT,??

    ?addr VARCHAR(50) );

    ?-- 4. 删除表

    ?/*??? drop table 表名; */

    ?-- 5. 修改表?

    alter

    ?-- 查看表结构

    -- desc 表名;

    DESC t_student;

    /*??

    ?1. 修改表之修改表名? ?

    ?alter table 旧表名 rename to 新表名

    ??? 将 t_student 表名 修改成 student 表名

    ?*/

    ?ALTER TABLE t_student RENAME TO student;

    ?SHOW TABLES;

    ?ALTER TABLE t_emp RENAME TO emp;

    ?/*??

    ?2. 修改表之修改列名??

    ?alter table 表名? change? 旧字段名 新字段名 新数据类型?

    ? 将 addr 列名 修改成 address

    ?*/

    ALTER TABLE student CHANGE addr address VARCHAR(50);

    ?/*???

    3. 修改表之修改列类型??

    ?alter table 表名 modify 字段名 数据类型??

    ?将性别从 int 类型 修改成 字符串类型

    ?*/

    ALTER TABLE student MODIFY sex VARCHAR(2);

    /*??

    ?4. 修改表之添加列??

    ?alter table 表名? add 新字段名 数据类型???

    给 student 表添加一个年龄

    */

    ALTER TABLE student ADD age INT;

    ?/*??

    ?第一列 :

    alter table 表名? add 新字段名 数据类型 first??

    ?在第一列添加一个

    年龄

    ?*/

    ?DESC student; ALTER TABLE student ADD age INT FIRST;

    /*

    ?? 添加指定列:alter table 表名? add 新字段名???

    ?数据类型 after 字段名??

    ?在学号后面添加一个姓名

    ?*/

    ?ALTER TABLE student ADD NAME VARCHAR(30) AFTER sno;

    /*?????

    5. 修改表之删除列??

    ?alter table 表名 drop 字段名

    */

    ?ALTER TABLE student DROP NAME;

    ?

    -- mysql 关键字处理

    ?-- 如果要创建一张表,表名叫做 table

    ?-- 使用 ` 将 关键字 引起来。

    ?CREATE TABLE `table`(

    t_id INT,

    t_name VARCHAR(30)

    );

    cs