mysql 学习小结

3,以管理员身份运行cmd 才能有权限启动mysql服务器
  创建数据库指令:CREATE DATABASE datebase_name;
  显示服务器下所有数据库 :SHOW DATABASES;
  显示某个数据库信息:SHOW CREATE DATABASE database_name \G;
  删除数据库(数据库无提示如无备份且无法恢复):DROP DATABASE database_name;
  修改当前使用数据库:user zoo;
  3.数据库存储引擎
   显示数据库支持的搜索引擎
   SHOW ENGINES \G;
   Comment:注释
   transaction:是否支持事物
  
   InnoDB 5.5.5以后默认引擎
  
   不同搜索引擎各有特点
   以情况而选择
  
  
4.数据表
  1.进入指定数据库
  创建表:CREATE TABLE <表名>
  ((注意园括号)
 列表1 数据类型  [列级别约束条件] [默认值],
 列表2 数据类型  [列级别约束条件] [默认值],
 ----
 [表级别约束条件]
  );
 
  CREATE TABLE tb_emp1
  (
        id int(11),
  name varchar(25),
  deptId int(11),
  salary float
  );
  2.查看数据库下的表 :SHOW tables;
  3.主键
 单字段主键
 字段名 数据类型 PRIMARY KEY/最后使用PRIMARY KEY (字段名)
 多字段主键
 PRIMARY KEY (字段名1,字段名2,字段名3,---)
 
 外键(外联系 参照原则)
    [CONSTRAINT<外键名>] FOREIGN KEY 字段名1[字段名2]
 REFERENCES <主表名> 健列1[,主键列2,-]
 
 例如:CREATE TABLE tb_emp5  
 (
 id int(11) PRIMARY KEY,
 name varchar(25),
 deptId int(11),
 salary float,
 CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
 );
 //fk_emp_dept1字段依赖于tb_dept1的id字段
 
 非空约束 +not NULL
 唯一行约束 +UNIQUE
 /或CREATE TABLE tb_dept3
 (
 id int(11) PRIMARY KEY,
 name varchar(22),
 location varchar(50),
 CONSTRAINT STH UNIQUE(name)
 );
 默认约束 +DEFAULT 默认值
 
 自增 +AUTO_INCREMENT  (唯一)
 
 插入语句  INSERT INTO <表名> VALUE (值1,值2),(值1,值2)
 查询语句:select * from database_name;
 
 4.2 查看表基本结构语句 DESCRIBE  <表名> /DESC <表名>
     查看表详细结构语句 SHOW CREATE TABLE <表名>  \G;
 4.3 修改表名  ALTER TABLE <旧表名> RENAME[TO] <新表名>
     修改字段的数据类型  ALTER TABLE <表名> MODIFY <字段名> <数据类型>
  修改字段名  ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;//数据类型改变可能导致数据丢失
  添加字段 ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER已存在的字段名]//插入位置 不指定 加入最后
  删除字段  ALTER TABLE <表名>  DROP <字段名>
  修改字段的排列位置 ALTER TABLE <表名> MODIFY <字段名1> <数据类型> FIRST|AFTER <字段名2>
  查看表的搜索引擎 SHOW CREATE TABLE 表名 \G;
  更改表的存储引擎 AFTER TABLE <表名> ENGINE=<更改后的存储引擎名>;
  删除外键 AFTER TABLE <表名> DROP DROPFOREIGN KEY <外键约束名>
  删除没有关联的表
  DROP TABLE [IF EXISTS](如果不存在无提示) 表1,表2。。。
  删除有关联的表 1,取消外键约束条件,2,删除表
  
 5.1 数据类型 :1.整数类型 TINUINT SMALLTNT MEDIUMINT INT(INTEGER) BIGINT
       //指定显示宽度 不知补充0;
       2.小数 浮点类型:FLOAT DOUBLE
        定点类型: DECIMAL
        数据类型(M,N) M:精度 N:标度
        串存储
        超出位数 警告 截取前部分 SHOW WARNING
     3.时间类型  DATETIME DATE TIMESTAMP TIME YEAR 最大为2055 输入2000 必须输入‘0’
       数据库会发生相应的数字转变
       插入当前系统时间   INSERT INTO <表名> VAL<>UES  <CURRENT_TIME>,<NOW<>>;
          DATE "YYYY-MM-DD"
       DATETIME "YYYY-MM-DD HH:MM:SS" == “YYYY&MM&DD” 间隔符随意
     
      时间戳 国际标准时间   < datatime
     修改当前时区  set time_zoo=''; 
     字符串  定长CHAR(0~255)(空格删除) VARCHAR(0~65535)(存储实际长度加一)(不删除空格)
            text tinytxt txt  mediutxt longtxt
         枚举  create table tmp9( enm ENUM('first','second','third') );
               select enm,enm+0(索引 ''=0) from database_name;
         set 类似java Set 无重复 可以多值
         create table tmp11 ( s SET('a', 'b', 'c', 'd'));
        二进制数据 bit(0~64)(超过取最大显示) binary(定长二进制数 填零) varbinary(变二进制)     
         BIN(X)函数 将数转换为二进制
         tinyblob blob()(图片,声音) 二进制字符串 text 字符字符串
        
        
     定点数更精准 = null=null  =>null 有null返回null
     安全 <=> null=null =>1
     不等于 <> != 同= 和<=>
     
     like string like ’string‘   前面满足后面
     %  _ 通配
     
     正则表达式 匹配 REGEXP

猜你喜欢

转载自blog.csdn.net/acm160920007/article/details/80102030