1. 创建表(建表属于DDL语句,DDL包括 create drop alter)

    create table 表名( 字段名1 数据类型 ,字段名2 数据类型,字段名3 数据类型);
    语法下面这种结构更清晰
    建表语句的语法格式:
    create table 表名(
    字段名1 数据类型,
    字段名2 数据类型,
    字段名3 数据类型,
    ….
    );
    表名:建议以t 或者tbl开始,可读性更强
    字段名:见名知意
    表名和字段名都属于标识符

    1. 创建一个学生表

      学号、姓名、年龄、性别、邮箱地址

      1. create table t_student(
      2. no int,
      3. name varchar(32),
      4. sex char(1),
      5. age int(3),
      6. email varchar(255)
      7. );

      删除表:(DDL操作)
      drop table 表名;//当这张表不存在时,会报错!
      //如果这张表存在的话,删除
      drop table if exists 表名 ;

    2. 插入数据insert(DML)

    语法格式:
    insert into 表名(字段名1,字段名2,字段名3…) values(值1,值2,值3…);
    注意:字段名和值要一一对应,数量要对应,数据类型也要对应

    1. insert into t_student (no,name,sex,age,email) values (1,'zhangsan','m',20,'zhangsan@123.com');
    2. +------+----------+------+------+------------------+
    3. | no | name | sex | age | email |
    4. +------+----------+------+------+------------------+
    5. | 1 | zhangsan | m | 20 | zhangsan@123.com |
    6. +------+----------+------+------+------------------+
    7. insert into t_student (email,name,sex,age,no) values ('lisi@123.com','lisi','f',20,2);
    8. +------+----------+------+------+------------------+
    9. | no | name | sex | age | email |
    10. +------+----------+------+------+------------------+
    11. | 1 | zhangsan | m | 20 | zhangsan@123.com |
    12. | 2 | lisi | f | 20 | lisi@123.com |
    13. +------+----------+------+------+------------------+
    14. insert into t_student (no) values (3);
    15. +------+----------+------+------+------------------+
    16. | no | name | sex | age | email |
    17. +------+----------+------+------+------------------+
    18. | 1 | zhangsan | m | 20 | zhangsan@123.com |
    19. | 2 | lisi | f | 20 | lisi@123.com |
    20. | 3 | NULL | NULL | NULL | NULL |
    21. +------+----------+------+------+------------------+
    22. insert into t_student (name) values ('wangwu');
    23. +------+----------+------+------+------------------+
    24. | no | name | sex | age | email |
    25. +------+----------+------+------+------------------+
    26. | 1 | zhangsan | m | 20 | zhangsan@123.com |
    27. | 2 | lisi | f | 20 | lisi@123.com |
    28. | 3 | NULL | NULL | NULL | NULL |
    29. | NULL | wangwu | NULL | NULL | NULL |
    30. +------+----------+------+------+------------------+

    注意:insert语句但凡是执行成功了,那么必然会多一条记录!!!、
    没有给其他字段指定值的话,默认值就是NULL。

    1. insert语句可以一次插入多条记录

    语法格式:
    insert into 表名(字段名1,字段名2,字段名3……) values( ),( ),( );

    1. //insert语句可以一次插入多条记录
    2. insert into t_user(id,name,birth,create_time) values
    3. (1,'zhangsan','1980-10-01',now()),
    4. (2,'lisi','1981-10-01',now()),
    5. (3,'wangwu','1982-10-01',now());
    6. +------+----------+------------+---------------------+
    7. | id | name | birth | create_time |
    8. +------+----------+------------+---------------------+
    9. | 1 | zhangsan | 1980-10-01 | 2022-04-06 19:32:05 |
    10. | 2 | lisi | 1981-10-01 | 2022-04-06 19:32:05 |
    11. | 3 | wangwu | 1982-10-01 | 2022-04-06 19:32:05 |
    12. +------+----------+------------+---------------------+
    1. 给表指定默认值 ```java drop table if exists t_student; create table t_student( no int, name varchar(32), sex char(1) default ‘m’, age int(3), email varchar(255) );

    insert into t_student (no) values (1); +———+———+———+———+———-+ | no | name | sex | age | email | +———+———+———+———+———-+ | 1 | NULL | m | NULL | NULL | +———+———+———+———+———-+ 此方法不建议
    insert语句中的”字段名”可以省略 insert into t_student values(2);//错误 //注意:前面的字段名省略的话,等于都写上了!所以值也要都写上!,顺序不能变 insert into t_student values(2,’lisi’,’f’,20,’lisi@123.com’); +———+———+———+———+———————+ | no | name | sex | age | email | +———+———+———+———+———————+ | 1 | NULL | m | NULL | NULL | | 2 | lisi | f | 20 | lisi@123.com | +———+———+———+———+———————+

    1. 6. insert插入日期
    2. 数字格式化:format
    3. ```java
    4. select ename,sal from emp;
    5. +--------+---------+
    6. | ename | sal |
    7. +--------+---------+
    8. | SMITH | 800.00 |
    9. | ALLEN | 1600.00 |
    10. | WARD | 1250.00 |
    11. | JONES | 2975.00 |
    12. | MARTIN | 1250.00 |
    13. | BLAKE | 2850.00 |
    14. | CLARK | 2450.00 |
    15. | SCOTT | 3000.00 |
    16. | KING | 5000.00 |
    17. | TURNER | 1500.00 |
    18. | ADAMS | 1100.00 |
    19. | JAMES | 950.00 |
    20. | FORD | 3000.00 |
    21. | MILLER | 1300.00 |
    22. +--------+---------+
    23. 插入千分位(不常用)
    24. 格式化数字:format(数字,'格式') 格式为$999,999
    25. select ename,format(sal,'$999,999') sal from emp;
    26. +--------+-------+
    27. | ename | sal |
    28. +--------+-------+
    29. | SMITH | 800 |
    30. | ALLEN | 1,600 |
    31. | WARD | 1,250 |
    32. | JONES | 2,975 |
    33. | MARTIN | 1,250 |
    34. | BLAKE | 2,850 |
    35. | CLARK | 2,450 |
    36. | SCOTT | 3,000 |
    37. | KING | 5,000 |
    38. | TURNER | 1,500 |
    39. | ADAMS | 1,100 |
    40. | JAMES | 950 |
    41. | FORD | 3,000 |
    42. | MILLER | 1,300 |
    43. +--------+-------+

    str_to_date:将字符串varchar类型转换成date类型
    date_format:将date类型转换成具有一定格式的varchar字符串类型

    drop table if exists t_user;
    create table t_user(
        id int,
        name varchar(32),
        birth char(10) //生日可以使用字符串
    );
    create table t_user(
        id int,
        name varchar(32),
        birth date//生日也可以使用date日期类型
    );
    插入数据
           insert into t_user(id,name,birth) values(1,'zhangsan','01-10-1999');//1999年10月1日
    //报错,原因是类型不匹配,数据库birth是date类型,这里给了一个字符串varchar
    怎么办?可以使用str_to_date函数进行类型转换
    str_to_date函数可以将字符串转换成日期类date
    语法格式:
        str_to_date('字符串日期','日期格式')
    
        mysql的日期格式:
            %Y    年
            %m    月
            %d    日
            %h    时
            %i    分
            %s    秒
     insert into t_user(id,name,birth) values(1,'zhangsan',str_to_date('01-10-1999','%d-%m-%Y'));
    str_to_date函数可以将字符串varchar转换成日期date类型数据,
    //dd如果你提供的日期字符串是这个格式,str_to_date函数就不需要了!!
    %Y-%m-%d
    insert into t_user(id,name,birth) values(2,'lisi','1999-10-01');
    
    
    date_format函数怎么用?
        date_format('日期类型数据','日期格式');
        这个函数通常使用在查询日期方面,设置展示的日期格式。
        select  id,name,date_format(birth,'%Y/%m/%d') birth from t_user;
                    +------+----------+------------+
                    | id   | name     | birth      |
                    +------+----------+------------+
                    |    1 | zhangsan | 1999/10/01 |
                    |    2 | lisi     | 1999/10/01 |
                    +------+----------+------------+
    

    注意:数据库中有一条命名规范:
    所有的标识符都是全部小写,单词与单词之间使用下划线”_”进行衔接