day03

常用语句:

show create databse school --查看创建数据库的语句

show create table student -- 查看student数据表的定义语句

desc student -- 显示表的结构

较大,约为两倍

innodb 默认使用

myisam 早些年使用

  myisam innidb
事物支持 不支持 支持
数据行锁定 不支持 支持
外键 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大,约为两倍

myisam 节约空间,速度较快

innodb 安全性高,事物的处理,多表多用户操作

所有数据库文件都在data目录下

本质还是文件存储

MySQL引擎在物理文件上的区别

  • InnoDB 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件

  • MYISAM对应文件

    .fram -- 表结构的定义文件

    .MYD 数据文件(data)

    .MYI 索引文件(index)

    设置数据库表的字符编码集

    CHARSET=utf8

    不设置的话,会是MySQL默认的字符编码

    在my.ini中配置默认的编码

    character-set-server=utf8

 CREATE TABLE IF NOT EXISTS `student`(
 `id`INT(4) NOT NULL AUTO_INCREMENT COMMENT  `学号`,
 `name` VARCHAR(30) NOT NULL DEFAULT  `匿名`  COMMENT `姓名`,
 `pwd` VARCHAR (20) NOT NULL DEFAULT `123456`  COMMENT `密码`
 PRIMARY KEY(`id`)
 ​
 )ENGINE=INNODB DEFAULT CHARSET=utf8

修改表名:alter table 旧表名 rename as 新表名

增加表的字段:alter table 表名 add 字段名age 列属性int(10)

修改表的字段(重命名,修改约束):

alter table teacher modify age varchar(11) --修改约束

alter table teacher change age age1 int(1) --字段重命名

删除表的字段:alter table teacher drop age1

删除表:drop table if exists teacher1

注意点:

  • 所有字段名使用``

  • 注释-- /**/

  • sql大小写不敏感,建议小写

  • 所有的符号全部用英文

重点(增删改查)dml

  插入: insert into `grade` (`gradename`) values ('大一'),('大二')
 -- 一一对应
  修改: updata `student` set `name` ='hp',`email`='1325452@qq.com' where id = 1;
  --等于号可以改为大于,小于等于等.不指定条件则修改所有数据
  不等于<>或!=
  between 2 and 4 区间[2,4]
  and相当于&&
  or相当于||
  `name`可以使具体的具体的值也可以是变量
  删除: delete from `student` where id=1;
  不写条件则全部删除
  truncate:完全清空一个数据库表,表的结构和索引约束不会变
  truncate `student`
  truncate和delete的区别
  相同点:都能删除数据,不会删除表结构
  不同点:
  delete: 自增不归零,使用innodb重启数据库归零,存在内存中断电及失,myisam存在文件中,不会丢失
  truncate:自增归零
 ​

DQL查询数据

(Data Query Language:数据查询语言)

 select * from student  -- 查询全部的学生
 select 字段 from 表
 select `StudentNo`,`StudentName` from student -- 查询指定字段
 select `StudentNo` as 学号,`StudentName` as 学生姓名 from student
 ​
 SELECT distinct `StudentNo` from result--去重
 ​
 select version()--查版本号(函数)
 select 100*3-1 as 计算结果  --计算(表达式)
 select @@auto_increment_increment--查询自增的步长(变量)
 select `StudentNo`,`StudentResult`+1 as `提分后` from result
 ​

模糊查询.

运算符:

  1. is null

  2. is not null

  3. between

  4. like

  5. in

  6.  

上一篇:UNIX环境高级编程——TCP/IP网络编程 常用网络信息检索函数


下一篇:day03:学习总结