zoukankan      html  css  js  c++  java
  • mysql学习笔记三

    1、mysql 正则表达式

     查找name字段中以 ‘st’ 字符开头的字符串    select  *  from  table  where  name  regexp  '^str';

    查找name字段以‘st’字符结尾的字符串    select  *  from  table  where  name  regexp  'str$';

    查找name字段中包含‘str’字符串的所有数据    select  *  from  table  where  name   regexp  ‘str’;

    查找name字段中包含123  和  456  以及包含‘’oo‘’的的字符串  select   *   from  tabel  where  name  regexp  '123|456|o{2}'

    2、mysql事务

    对于操作量大,复杂度高,且关联性很强的sql  一般会组成一个事务来执行,比如人员管理系统,需要删除一个员工,那么就要同步删除他的所有相关信息,如邮箱,文章等

    一般来说事务满足四个条件,原子性(要么全部执行完成,要么失败回滚);一致性(数据库在事务执行前后结构保持一致性);隔离性(防止多个事务交叉执行造成数据错乱);

    持久性(执行完的数据修改是永久性的)。

    mysql中只有innodb引擎支持事务;

    begin显示开启一个事务;commit会提交事务;

    rollback回滚事务;savepoint identifire   事务中的保存点  可以有多个,rollback  to identifire   删除一个事务保存点

    set transaction  设置隔离级别  读未提交   读提交    可重复读  串行化

    可以用set来改变mysql的自动提交模式  set autocommit   0禁止自动提交   1开启自动提交

    savepoint  是数据库事务处理中实现子事务,可以回滚到savepoint儿不影响savepoint创建前的变化,不放弃整个事务

    保留点在事务处理完后自动释放  手动删除保留点    release  savepoint   savepointName

    mysql  alter 命令 用来是修改 删除表字段

    例如:alter  table  table1  drop i   将table1表中的i字段删除

               alter  table  table1   add  i  int   first       |  after c  插入第一列  int       插入在c字段后面一列

    修改字段类型及名称

    alter  table  table1   modify  c  char(10)  把字段c的类型从char(1)改成char(10)

    alter  table table1    change  i  j   bigint(change后面紧跟要修改的字段名及修改后的字段名  及字段类型)

    当你修改字段是  可以设置是否包含默认值或者是否设置默认值

    如:alter  table  table1  modify  j  bigint  not null  default  100  如果不设置  mysql会默认该字段为null

    alter  table  table1  alter  i  set  defult  100  修改默认值

                                  alter  i   drop   default  删除默认值

                                  engine = myisam  改变表 table1的类型

    alter  table  table1  rename   to table2  修改表名称为table2

    数据库索引

    索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息。

    索引是一种特殊的文件(innodb数据表上的索引是表空间的一个组成部分),包含对数据表里所有记录的引用指针,通俗的说,就像一本书的目录。

    优点:保证表中的每一行数据的唯一性;增加查询检索速度;加快表与表之间的连接;使用分组和排序字句进行检索时加快检索速度;

    缺点:创建和维护索引耗时,数据量越大耗时越久;索引还会占据一部分物理空间;对表进行操作时,索引也会被跟着修改;

    创建索引准则:在经常需要被搜索的列上面;作为主键的列上面;经常提供对外连接的列上;经常需要被排序的列上;经常用在where字句的列上。

    创建索引:

    1、主键索引

    方式一:create table  student(id INT NOT NULL, name VARCHAR(16)NOT NULL ,PARAMARY KEY(id))   创建表的时候就添加主键索引

    方式二:CRAET INDEX index_name ON student(name);  给表中的某个列添加主键索引

    方式三:ALTER student ADD PARAMARY KEY 【indexName】ON(id);使用alter添加主键索引

     2、普通索引  char  varchar 类型 length可以小于实际字段长度,如果是blob和test必须制定length的长度

    方式一:create table  student(id INT NOT NULL, name VARCHAR(16)NOT NULL ,INDEX【index_name】(id)【length】)   创建表的时候就添加索引

    方式二:CRAET INDEX index_name ON student(name【length】);  给表中的某个列添加索引

    方式三:ALTER student ADD  INDEX【indexName】ON(id);使用alter修改表结构体

     3、唯一索引   被搜索引列的值必须是唯一的,但是允许有空值。

    方式一:create  UNIQUE index_name  ON tableName(name【length】);

    方式二:ALTER tableName  ADD UNIQUE [indexName] ON(name)

    方式三:create table  student(id INT NOT NULL, name VARCHAR(16)NOT NULL ,UNIQUE【index_name】(id)【length】)   创建表的时候就添加索引

    4、全文索引

    CREATE  FULLTEXT  INDEX indexName  ON  tableName(name【length】);

    删除索引:

    ALTER  TABLE  表名   DROP INDEX 索引名

    DROP INDEX 【索引名】ON 表名

    查看表中索引信息   show  index from  表名

    组合索引

    ALTER  TABLE  student  ADD  INDEX  index_name(name(10),age,sex);

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    类库引用EF
    Html.DropDownList
    MVC validation
    MVC @functions
    MVC 扩展方法特点
    Class 实现IDisposing方法
    MVC两个必懂核心
    Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别
    sqlserver log
  • 原文地址:https://www.cnblogs.com/1026164853qqcom/p/10975140.html
Copyright © 2011-2022 走看看